-
Notifications
You must be signed in to change notification settings - Fork 11
131 lines (110 loc) · 3.32 KB
/
ci.yml
File metadata and controls
131 lines (110 loc) · 3.32 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
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: this-dot-open-source
env:
NX_MAX_PARALLEL: 2
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node_version: ${{ matrix.node_version }}
- name: Lint files
run: npx nx affected --target=lint --parallel=$NX_MAX_PARALLEL
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x, 18.x]
steps:
- uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node_version: ${{ matrix.node_version }}
- name: Test Projects
run: npx nx affected --target=test --parallel=$NX_MAX_PARALLEL
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x, 18.x]
steps:
- uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node_version: ${{ matrix.node_version }}
- name: Build Projects
run: npx nx affected --target=build --parallel=$NX_MAX_PARALLEL
e2e-chrome:
runs-on: ubuntu-latest
container:
image: cypress/browsers:node16.14.2-slim-chrome100-ff99-edge
options: --user 1001
steps:
- uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node_version: ${{ matrix.node_version }}
- name: E2E tests in chrome
run: npm run affected:e2e -- --browser=chrome --headless
- name: Archive test results
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: cypress-test-results-chrome
path: dist/cypress
retention-days: 21
e2e-edge:
runs-on: ubuntu-latest
container:
image: cypress/browsers:node16.14.2-slim-chrome100-ff99-edge
options: --user 1001
steps:
- uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node_version: ${{ matrix.node_version }}
- name: E2E tests in edge
run: npm run affected:e2e -- --browser=edge --headless
- name: Archive test results
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: cypress-test-results-edge
path: dist/cypress
retention-days: 21
e2e-firefox:
runs-on: ubuntu-latest
container:
image: cypress/browsers:node16.14.2-slim-chrome100-ff99-edge
options: --user 1001
steps:
- uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node_version: ${{ matrix.node_version }}
- name: E2E tests in firefox
run: npm run affected:e2e -- --browser=firefox --headless
- name: Archive test results
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: cypress-test-results-firefox
path: dist/cypress
retention-days: 21