-
Notifications
You must be signed in to change notification settings - Fork 0
106 lines (93 loc) · 2.98 KB
/
ctest.yml
File metadata and controls
106 lines (93 loc) · 2.98 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
name: Test
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
prepare:
name: Prepare list of configurations
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
scripts: ${{ steps.set-matrix.outputs.scripts }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
github.com:443
- name: Check out the source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set matrix
id: set-matrix
run: echo scripts="$(for i in ctest/*.ctest.cmake; do echo '"'$(basename $i .ctest.cmake)'"'; done | jq --slurp -c)" >> "${GITHUB_OUTPUT}"
test:
needs: prepare
name: Test (${{ matrix.script }})
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
script: ${{ fromJson(needs.prepare.outputs.scripts) }}
permissions:
contents: read
steps:
- name: Harden Runner
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: block
allowed-endpoints: >
api.github.com:443
azure.archive.ubuntu.com:80
esm.ubuntu.com:443
github.com:443
motd.ubuntu.com:443
objects.githubusercontent.com:443
packages.microsoft.com:443
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install dependencies
uses: ./.github/actions/install-dependencies
- name: Run tests
run: ctest -V -S "ctest/${{ matrix.script }}.ctest.cmake"
- name: Upload test tesults
if: (!cancelled())
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: Test Results (${{ matrix.script }})
path: |
build/junit.xml
build/Testing/Temporary/MemoryChecker.*.log
publish:
needs: test
name: Publish Results
runs-on: ubuntu-latest
if: (!cancelled())
permissions:
contents: read
checks: write
pull-requests: write
steps:
- name: Harden Runner
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
api.github.com:443
- name: Download test results
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
with:
path: test-results
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@27d65e188ec43221b20d26de30f4892fad91df2f # v2.22.0
with:
files: test-results/**/junit.xml
check_run: false