11
runs-on: ubuntu-latest
12
outputs:
13
enabled: ${{ steps.check-ref.outputs.enabled }}${{ steps.skip-if-redundant.outputs.enabled }}
14
+ skip_concurrent: ${{ steps.check-ref.outputs.skip_concurrent }}
15
steps:
16
- name: try to clone ci-config branch
17
run: |
35
then
36
enabled=no
37
fi
38
+
39
+ skip_concurrent=yes
40
+ if test -x config-repo/ci/config/skip-concurrent &&
41
+ ! config-repo/ci/config/skip-concurrent '${{ github.ref }}'
42
+ then
43
+ skip_concurrent=no
44
+ fi
45
echo "::set-output name=enabled::$enabled"
46
+ echo "::set-output name=skip_concurrent::$skip_concurrent"
47
- name: skip if the commit or tree was already tested
48
id: skip-if-redundant
49
uses: actions/github-script@v3
91
needs: ci-config
92
if: needs.ci-config.outputs.enabled == 'yes'
93
runs-on: windows-latest
94
+ concurrency:
95
+ group: windows-build-${{ github.ref }}
96
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
97
steps:
98
- uses: actions/checkout@v2
99
- uses: git-for-windows/setup-git-for-windows-sdk@v1
113
windows-test:
114
name: win test
115
runs-on: windows-latest
104
- needs: [windows-build]
116
+ needs: [ci-config, windows-build]
117
strategy:
118
fail-fast: false
119
matrix:
120
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
121
+ concurrency:
122
+ group: windows-test-${{ matrix.nr }}-${{ github.ref }}
123
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
124
steps:
125
- name: download tracked files and build artifacts
126
uses: actions/download-artifact@v2
152
NO_PERL: 1
153
GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
154
runs-on: windows-latest
155
+ concurrency:
156
+ group: vs-build-${{ github.ref }}
157
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
158
steps:
159
- uses: actions/checkout@v2
160
- uses: git-for-windows/setup-git-for-windows-sdk@v1
202
vs-test:
203
name: win+VS test
204
runs-on: windows-latest
187
- needs: vs-build
205
+ needs: [ci-config, vs-build]
206
strategy:
207
fail-fast: false
208
matrix:
209
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
210
+ concurrency:
211
+ group: vs-test-${{ matrix.nr }}-${{ github.ref }}
212
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
213
steps:
214
- uses: git-for-windows/setup-git-for-windows-sdk@v1
215
- name: download tracked files and build artifacts
239
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
240
needs: ci-config
241
if: needs.ci-config.outputs.enabled == 'yes'
242
+ concurrency:
243
+ group: ${{ matrix.vector.jobname }}-${{ matrix.vector.pool }}-${{ github.ref }}
244
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
245
strategy:
246
fail-fast: false
247
matrix:
305
name: ${{matrix.vector.jobname}} (${{matrix.vector.image}})
306
needs: ci-config
307
if: needs.ci-config.outputs.enabled == 'yes'
308
+ concurrency:
309
+ group: dockerized-${{ matrix.vector.jobname }}-${{ matrix.vector.image }}-${{ github.ref }}
310
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
311
strategy:
312
fail-fast: false
313
matrix:
343
env:
344
jobname: StaticAnalysis
345
runs-on: ubuntu-22.04
346
+ concurrency:
347
+ group: static-analysis-${{ github.ref }}
348
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
349
steps:
350
- uses: actions/checkout@v2
351
- run: ci/install-dependencies.sh
357
env:
358
jobname: sparse
359
runs-on: ubuntu-20.04
360
+ concurrency:
361
+ group: sparse-${{ github.ref }}
362
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
363
steps:
364
- name: Download a current `sparse` package
365
# Ubuntu's `sparse` version is too old for us
378
name: documentation
379
needs: ci-config
380
if: needs.ci-config.outputs.enabled == 'yes'
381
+ concurrency:
382
+ group: documentation-${{ github.ref }}
383
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
384
env:
385
jobname: Documentation
386
runs-on: ubuntu-latest