-
-
Notifications
You must be signed in to change notification settings - Fork 18
60 lines (56 loc) · 1.79 KB
/
webclient-cicd.yml
File metadata and controls
60 lines (56 loc) · 1.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
name: Webclient CI/CD
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-webclient
cancel-in-progress: true
on:
pull_request:
branches: [ main ]
types: [ opened, reopened, synchronize ]
push:
branches: [ main ]
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: {persist-credentials: false}
- uses: pnpm/action-setup@08c4be7e2e672a47d11bd04269e27e5f3e8529cb # v6.0.0
with:
version: 10.14.0
package_json_file: webclient/package.json
run_install: |
- cwd: webclient
args: [--frozen-lockfile, --strict-peer-dependencies]
- args: [--global, openapi-format]
- run: pnpm run lint
working-directory: webclient
- run: pnpm run type-check
working-directory: webclient
build:
uses: ./.github/workflows/_docker-build.yml
with:
image_suffix: webclient
context: ./webclient
dockerfile: Dockerfile
permissions:
id-token: write
contents: read
packages: write
attestations: write
# This final step is needed to mark the whole workflow as successful
# Don't change its name - it is used by the merge protection rules
done:
name: Finished webclient CI
runs-on: ubuntu-latest
needs: [ build, lint ]
if: always()
permissions: {}
steps:
- name: Result of the needed steps
run: echo "${{ toJSON(needs) }}" # zizmor: ignore[template-injection]
- if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
name: CI Result
run: exit 1