7
7
8
8
env :
9
9
NODE_VERSION : 20
10
- FIREBASE_PROJECT_ID : ${{ secrets.FIREBASE_PROJECT_ID }}
11
- FIREBASE_PRIVATE_KEY : ${{ secrets.FIREBASE_PRIVATE_KEY }}
12
- FIREBASE_CLIENT_EMAIL : ${{ secrets.FIREBASE_CLIENT_EMAIL }}
13
- FIREBASE_STORAGE_BUCKET : ${{ secrets.FIREBASE_STORAGE_BUCKET }}
14
- JWT_SECRET : ${{ secrets.JWT_SECRET }}
15
10
16
11
permissions :
17
12
contents : read
18
13
19
14
jobs :
20
- ci :
15
+ frontend-ci :
16
+ runs-on : ubuntu-latest
17
+ steps :
18
+ - name : Checkout code
19
+ uses : actions/checkout@v4
20
+ - name : Setting node version
21
+ uses : actions/setup-node@v4
22
+ with :
23
+ node-version : ${{ env.NODE_VERSION }}
24
+ - name : Install dependencies
25
+ working-directory : frontend
26
+ run : npm install
27
+ - name : Linting
28
+ working-directory : frontend
29
+ run : npm run lint
30
+ - name : Frontend tests
31
+ working-directory : frontend
32
+ run : docker compose -f docker-compose-test.yml run --rm test-frontend
33
+ backend-ci :
21
34
runs-on : ubuntu-latest
22
35
strategy :
23
36
matrix :
24
- service : [frontend, backend/ question-service, backend/ user-service]
37
+ service : [question-service, user-service]
25
38
steps :
26
39
- name : Checkout code
27
40
uses : actions/checkout@v4
@@ -30,21 +43,16 @@ jobs:
30
43
with :
31
44
node-version : ${{ env.NODE_VERSION }}
32
45
- name : Install dependencies
33
- working-directory : ${{ matrix.service }}
46
+ working-directory : backend/ ${{ matrix.service }}
34
47
run : npm install
35
48
- name : Linting
36
- working-directory : ${{ matrix.service }}
49
+ working-directory : backend/ ${{ matrix.service }}
37
50
run : npm run lint
38
- - name : Set .env variables
39
- working-directory : ${{ matrix.service }}
40
- run : |
41
- touch .env
42
- echo "FIREBASE_PROJECT_ID=${{ env.FIREBASE_PROJECT_ID }}" >> .env
43
- echo "FIREBASE_PRIVATE_KEY=${{ env.FIREBASE_PRIVATE_KEY }}" >> .env
44
- echo "FIREBASE_CLIENT_EMAIL=${{ env.FIREBASE_CLIENT_EMAIL }}" >> .env
45
- echo "FIREBASE_CLIENT_EMAIL=${{ env.FIREBASE_CLIENT_EMAIL }}" >> .env
46
- echo "FIREBASE_STORAGE_BUCKET=${{ env.FIREBASE_STORAGE_BUCKET }}" >> .env
47
- echo "JWT_SECRET=${{ env.JWT_SECRET }}" >> .env
48
- - name : Tests
49
- working-directory : ${{ matrix.service }}
50
- run : npm test
51
+ - name : Backend tests
52
+ env :
53
+ FIREBASE_PROJECT_ID : ${{ secrets.FIREBASE_PROJECT_ID }}
54
+ FIREBASE_PRIVATE_KEY : ${{ secrets.FIREBASE_PRIVATE_KEY }}
55
+ FIREBASE_CLIENT_EMAIL : ${{ secrets.FIREBASE_CLIENT_EMAIL }}
56
+ FIREBASE_STORAGE_BUCKET : ${{ secrets.FIREBASE_STORAGE_BUCKET }}
57
+ JWT_SECRET : ${{ secrets.JWT_SECRET }}
58
+ run : docker compose -f docker-compose-test.yml run --rm test-${{ matrix.service }}
0 commit comments