-
Notifications
You must be signed in to change notification settings - Fork 406
149 lines (145 loc) · 4.51 KB
/
Copy pathmain.yml
File metadata and controls
149 lines (145 loc) · 4.51 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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
name: QA
on:
pull_request:
types:
- synchronize
- opened
push:
branches:
- main
jobs:
audit:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- name: production
flag: --prod
level: moderate
- name: dev
flag: --dev
level: high
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup PNPM
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
with:
run_install: false
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: Audit ${{ matrix.name }} dependencies
run: pnpm audit ${{ matrix.flag }} --audit-level ${{ matrix.level }}
lint:
runs-on: ubuntu-22.04
env:
HUSKY: 0
APL: file
MAILCHIMP_CLIENT_ID: "mocked"
MAILCHIMP_CLIENT_SECRET: "mocked"
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
TURBO_CACHE: "remote:rw"
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- name: Setup PNPM
uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
with:
run_install: false
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Check linter
run: pnpm lint
- name: Check types
run: pnpm check-types
- name: Check package dependencies
run: pnpm lint:packages
- name: Check for changes in graphql files
run: |
pnpm generate
git diff --name-status --exit-code .
test:
runs-on: ubuntu-22.04
env:
HUSKY: 0
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
TURBO_CACHE: "remote:rw"
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- name: Setup PNPM
uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
with:
run_install: false
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Run tests
run: pnpm test:ci
- name: Upload coverage artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: coverage-files
path: |
apps/*/coverage/
packages/*/coverage/
retention-days: 1
upload-coverage:
runs-on: ubuntu-22.04
needs: test
strategy:
matrix:
include:
- name: avatax
path: apps/avatax
- name: cms
path: apps/cms
- name: products-feed
path: apps/products-feed
- name: search
path: apps/search
- name: segment
path: apps/segment
- name: smtp
path: apps/smtp
- name: stripe
path: apps/stripe
- name: np-atobarai
path: apps/np-atobarai
- name: logger
path: packages/logger
- name: shared
path: packages/shared
- name: webhook-utils
path: packages/webhook-utils
- name: domain
path: packages/domain
- name: errors
path: packages/errors
- name: apl-dynamo
path: packages/apl-dynamo
- name: dynamo-config-repository
path: packages/dynamo-config-repository
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- name: Download coverage artifacts
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: coverage-files
- name: Upload coverage for ${{ matrix.name }}
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: saleor/apps
flags: ${{ matrix.name }}
files: ${{ matrix.path }}/coverage/coverage-final.json,${{ matrix.path }}/coverage/clover.xml
disable_search: true