-
Notifications
You must be signed in to change notification settings - Fork 0
152 lines (117 loc) · 3.79 KB
/
test.yml
File metadata and controls
152 lines (117 loc) · 3.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
name: Test
on:
push:
branches-ignore:
- 'development/**'
permissions:
contents: read
packages: write
jobs:
lint:
name: Lint and typecheck
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: TypeScript typecheck
run: yarn typecheck
- name: Lint
run: yarn lint
test-mongodb-backend:
name: Test with MongoDB backend
runs-on: ubuntu-latest
needs: lint
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Start Cloudserver with MongoDB backend
run: docker compose -f .github/docker-compose.cloudserver-mongo.yml up -d
- name: Wait for Cloudserver to be ready
run: |
set -o pipefail
bash .github/scripts/wait_for_local_port.bash 8000 40
- name: Run MongoDB backend tests
run: yarn test:mongo-backend
- name: Stop Cloudserver
if: always()
run: docker compose -f .github/docker-compose.cloudserver-mongo.yml down
test-metadata-backend:
name: Test with Scality metadata backend
runs-on: ubuntu-latest
needs: lint
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ github.token }}
- name: Start Cloudserver with Scality metadata backend
run: docker compose -f .github/docker-compose.cloudserver-metadata.yml up -d
- name: Wait for metadata to be ready
run: |
set -o pipefail
bash .github/scripts/wait_for_local_port.bash 9000 40
- name: Wait for Cloudserver to be ready
run: |
set -o pipefail
bash .github/scripts/wait_for_local_port.bash 8000 60
- name: Run metadata backend tests
run: yarn test:metadata-backend
- name: Stop Cloudserver
if: always()
run: docker compose -f .github/docker-compose.cloudserver-metadata.yml down
test-backbeat-apis:
name: Test backbeat apis
runs-on: ubuntu-latest
needs: lint
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ github.token }}
- name: Start Cloudserver with MongoDB backend
run: docker compose -f .github/docker-compose.cloudserver-mongo.yml up -d
- name: Wait for Cloudserver to be ready
run: |
set -o pipefail
bash .github/scripts/wait_for_local_port.bash 8000 40
- name: Run backbeat apis tests
run: yarn test:backbeat-apis
- name: Stop Cloudserver
if: always()
run: docker compose -f .github/docker-compose.cloudserver-mongo.yml down