@@ -19,33 +19,76 @@ permissions:
1919 security-events : write
2020
2121jobs :
22+ test :
23+ runs-on : ubuntu-latest
24+ defaults :
25+ run :
26+ working-directory : client
27+ steps :
28+ - uses : actions/checkout@v6
29+ - uses : actions/setup-node@v6
30+ with :
31+ node-version : lts/*
32+ cache : npm
33+ cache-dependency-path : client/package-lock.json
34+ - run : npm ci
35+ - run : npm test
36+ - run : npm run build
37+ - uses : actions/upload-artifact@v7
38+ with :
39+ name : client-dist
40+ path : client/dist/
41+ retention-days : 1
42+
43+ e2e :
44+ needs : test
45+ runs-on : ubuntu-latest
46+ defaults :
47+ run :
48+ working-directory : client
49+ steps :
50+ - uses : actions/checkout@v6
51+ - uses : actions/setup-node@v6
52+ with :
53+ node-version : lts/*
54+ cache : npm
55+ cache-dependency-path : client/package-lock.json
56+ - run : npm ci
57+ - uses : actions/download-artifact@v8
58+ with :
59+ name : client-dist
60+ path : client/dist/
61+ - run : npx playwright install --with-deps chromium
62+ - run : npm run test:e2e
63+
2264 publish-docker-image :
65+ needs : [e2e]
2366 runs-on : ubuntu-latest
2467 steps :
2568 - name : Checkout
26- uses : actions/checkout@v4
69+ uses : actions/checkout@v6
2770
2871 - name : Docker meta
2972 id : meta
30- uses : docker/metadata-action@v5
73+ uses : docker/metadata-action@v6
3174 with :
3275 images : ghcr.io/${{ github.repository }}
3376 tags : |
3477 type=semver,pattern={{major}}.{{minor}}.{{patch}}
3578 type=raw,value=edge
3679
3780 - name : Set up Docker Buildx
38- uses : docker/setup-buildx-action@v3
81+ uses : docker/setup-buildx-action@v4
3982
4083 - name : Login to GitHub Container Registry
41- uses : docker/login-action@v3
84+ uses : docker/login-action@v4
4285 with :
4386 registry : ghcr.io
4487 username : ${{ github.actor }}
4588 password : ${{ secrets.GITHUB_TOKEN }}
4689
4790 - name : Build container and export to local Docker
48- uses : docker/build-push-action@v5
91+ uses : docker/build-push-action@v7
4992 with :
5093 context : .
5194 file : Dockerfile.prod
@@ -65,13 +108,13 @@ jobs:
65108 output-format : sarif
66109
67110 - name : Upload Anchore scan SARIF report
68- uses : github/codeql-action/upload-sarif@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
111+ uses : github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
69112 if : ${{ !cancelled() }}
70113 with :
71114 sarif_file : ${{ steps.scan.outputs.sarif }}
72115
73116 - name : Push image to GitHub Container Registry
74- uses : docker/build-push-action@v5
117+ uses : docker/build-push-action@v7
75118 if : ${{ github.event_name != 'schedule' }}
76119 with :
77120 file : Dockerfile.prod
0 commit comments