-
Notifications
You must be signed in to change notification settings - Fork 0
51 lines (48 loc) · 1.75 KB
/
ci.yml
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
name: CI
on: [push]
env:
CI: true
jobs:
lint:
uses: ./.github/workflows/reusable-lint.yml
with:
build: true
build:
runs-on: ${{ matrix.os }}
environment:
name: ${{ matrix.environment-name }}
strategy:
fail-fast: true
matrix:
environment-name: ["ESS PodSpaces"]
os: [ubuntu-latest]
node-version: ["18", "20", "22"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
registry-url: "https://registry.npmjs.org"
- run: npm ci --workspaces
# Running top-level ci should happen after workspaces level, running these
# the other way around results in top-level dependencies (namely, lerna)
# not being installed.
- run: npm ci
- run: npm run build
- run: npx playwright install --with-deps
- run: npm run e2e:test:setup
- # Dependabot cannot access secrets, so it doesn't have a token to authenticate to ESS.
# We want jobs in this workflow to be gating PRs, so the whole matrix must
# run even for dependabot so that the matrixed jobs are skipped, instead
# of the whole pipeline.
if: ${{ github.actor != 'dependabot[bot]' }}
run: npm t
env:
E2E_DEMO_CLIENT_APP_URL: http://localhost:3001
E2E_TEST_USER: ${{ secrets.E2E_TEST_USER }}
E2E_TEST_PASSWORD: ${{ secrets.E2E_TEST_PASSWORD }}
E2E_TEST_IDP: ${{ secrets.E2E_TEST_IDP }}
E2E_TEST_OWNER_CLIENT_ID: ${{ secrets.E2E_TEST_OWNER_CLIENT_ID }}
E2E_TEST_OWNER_CLIENT_SECRET: ${{ secrets.E2E_TEST_OWNER_CLIENT_SECRET }}
E2E_TEST_ENVIRONMENT: ${{ matrix.environment-name }}