@@ -3,7 +3,7 @@ name: test & maybe release
33on :
44 push :
55 branches :
6- - master
6+ - main
77 pull_request :
88 workflow_dispatch :
99
@@ -16,10 +16,189 @@ concurrency:
1616 cancel-in-progress : true
1717
1818jobs :
19- js-test-and-release :
20- uses : pl-strflt/uci/.github/workflows/js-test-and-release.yml@v0.0
21- secrets :
22- DOCKER_TOKEN : ${{ secrets.DOCKER_TOKEN }}
23- DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
24- NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
25- UCI_GITHUB_TOKEN : ${{ secrets.UCI_GITHUB_TOKEN }}
19+ check :
20+ runs-on : ubuntu-latest
21+ steps :
22+ - uses : actions/checkout@v3
23+ - uses : actions/setup-node@v3
24+ with :
25+ node-version : lts/*
26+ - uses : ipfs/aegir/actions/cache-node-modules@master
27+ - run : npm run --if-present lint
28+ - run : npm run --if-present dep-check
29+ - run : npm run --if-present doc-check
30+
31+ test-node :
32+ needs : check
33+ runs-on : ${{ matrix.os }}
34+ strategy :
35+ matrix :
36+ os : [windows-latest, ubuntu-latest, macos-latest]
37+ node : [lts/*]
38+ fail-fast : true
39+ steps :
40+ - uses : actions/checkout@v3
41+ - uses : actions/setup-node@v3
42+ with :
43+ node-version : ${{ matrix.node }}
44+ - uses : ipfs/aegir/actions/cache-node-modules@master
45+ - run : npm run --if-present test:node
46+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
47+ with :
48+ flags : node
49+ files : .coverage/*,packages/*/.coverage/*
50+
51+ test-chrome :
52+ needs : check
53+ runs-on : ubuntu-latest
54+ steps :
55+ - uses : actions/checkout@v3
56+ - uses : actions/setup-node@v3
57+ with :
58+ node-version : lts/*
59+ - uses : ipfs/aegir/actions/cache-node-modules@master
60+ - run : npm run --if-present test:chrome
61+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
62+ with :
63+ flags : chrome
64+ files : .coverage/*,packages/*/.coverage/*
65+
66+ test-chrome-webworker :
67+ needs : check
68+ runs-on : ubuntu-latest
69+ steps :
70+ - uses : actions/checkout@v3
71+ - uses : actions/setup-node@v3
72+ with :
73+ node-version : lts/*
74+ - uses : ipfs/aegir/actions/cache-node-modules@master
75+ - run : npm run --if-present test:chrome-webworker
76+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
77+ with :
78+ flags : chrome-webworker
79+ files : .coverage/*,packages/*/.coverage/*
80+
81+ test-firefox :
82+ needs : check
83+ runs-on : ubuntu-latest
84+ steps :
85+ - uses : actions/checkout@v3
86+ - uses : actions/setup-node@v3
87+ with :
88+ node-version : lts/*
89+ - uses : ipfs/aegir/actions/cache-node-modules@master
90+ - run : npm run --if-present test:firefox
91+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
92+ with :
93+ flags : firefox
94+ files : .coverage/*,packages/*/.coverage/*
95+
96+ test-firefox-webworker :
97+ needs : check
98+ runs-on : ubuntu-latest
99+ steps :
100+ - uses : actions/checkout@v3
101+ - uses : actions/setup-node@v3
102+ with :
103+ node-version : lts/*
104+ - uses : ipfs/aegir/actions/cache-node-modules@master
105+ - run : npm run --if-present test:firefox-webworker
106+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
107+ with :
108+ flags : firefox-webworker
109+ files : .coverage/*,packages/*/.coverage/*
110+
111+ test-webkit :
112+ needs : check
113+ runs-on : ${{ matrix.os }}
114+ strategy :
115+ matrix :
116+ os : [ubuntu-latest, macos-latest]
117+ node : [lts/*]
118+ fail-fast : true
119+ steps :
120+ - uses : actions/checkout@v3
121+ - uses : actions/setup-node@v3
122+ with :
123+ node-version : lts/*
124+ - uses : ipfs/aegir/actions/cache-node-modules@master
125+ - run : npm run --if-present test:webkit
126+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
127+ with :
128+ flags : webkit
129+ files : .coverage/*,packages/*/.coverage/*
130+
131+ test-webkit-webworker :
132+ needs : check
133+ runs-on : ${{ matrix.os }}
134+ strategy :
135+ matrix :
136+ os : [ubuntu-latest, macos-latest]
137+ node : [lts/*]
138+ fail-fast : true
139+ steps :
140+ - uses : actions/checkout@v3
141+ - uses : actions/setup-node@v3
142+ with :
143+ node-version : lts/*
144+ - uses : ipfs/aegir/actions/cache-node-modules@master
145+ - run : npm run --if-present test:webkit-webworker
146+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
147+ with :
148+ flags : webkit-webworker
149+ files : .coverage/*,packages/*/.coverage/*
150+
151+ test-electron-main :
152+ needs : check
153+ runs-on : ubuntu-latest
154+ steps :
155+ - uses : actions/checkout@v3
156+ - uses : actions/setup-node@v3
157+ with :
158+ node-version : lts/*
159+ - uses : ipfs/aegir/actions/cache-node-modules@master
160+ - run : npx xvfb-maybe npm run --if-present test:electron-main
161+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
162+ with :
163+ flags : electron-main
164+ files : .coverage/*,packages/*/.coverage/*
165+
166+ test-electron-renderer :
167+ needs : check
168+ runs-on : ubuntu-latest
169+ steps :
170+ - uses : actions/checkout@v3
171+ - uses : actions/setup-node@v3
172+ with :
173+ node-version : lts/*
174+ - uses : ipfs/aegir/actions/cache-node-modules@master
175+ - run : npx xvfb-maybe npm run --if-present test:electron-renderer
176+ - uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
177+ with :
178+ flags : electron-renderer
179+ files : .coverage/*,packages/*/.coverage/*
180+
181+ release :
182+ needs : [test-node, test-chrome, test-chrome-webworker, test-firefox, test-firefox-webworker, test-webkit, test-webkit-webworker, test-electron-main, test-electron-renderer]
183+ runs-on : ubuntu-latest
184+ if : github.event_name == 'push' && github.ref == 'refs/heads/main'
185+ permissions :
186+ id-token : write
187+ contents : write
188+ pull-requests : write
189+ steps :
190+ - uses : actions/checkout@v3
191+ with :
192+ fetch-depth : 0
193+ - uses : actions/setup-node@v3
194+ with :
195+ node-version : lts/*
196+ - uses : ipfs/aegir/actions/cache-node-modules@master
197+ - uses : ipfs/aegir/actions/docker-login@master
198+ with :
199+ docker-token : ${{ secrets.DOCKER_TOKEN }}
200+ docker-username : ${{ secrets.DOCKER_USERNAME }}
201+ - run : npm run --if-present release
202+ env :
203+ GITHUB_TOKEN : ${{ secrets.UCI_GITHUB_TOKEN || github.token }}
204+ NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
0 commit comments