@@ -14,59 +14,190 @@ concurrency:
1414jobs :
1515 change-detection :
1616 name : 🔍 Change
17- uses : cda-tum/mqt-workflows/.github/workflows/reusable-change-detection.yml@v1.5
17+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-change-detection.yml@v1.7
1818
1919 cpp-tests :
2020 name : 🇨 Test
2121 needs : change-detection
2222 if : fromJSON(needs.change-detection.outputs.run-cpp-tests)
23- uses : cda-tum/mqt-workflows/.github/workflows/reusable-cpp-ci.yml@v1.5
23+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-cpp-ci.yml@v1.7
24+ with :
25+ # Runs to enable
26+ enable-ubuntu2404-gcc-release : true
27+ enable-ubuntu2404-arm-gcc-release : true
28+ enable-macos13-clang-release : true
29+ enable-macos14-clang-release : true
30+ enable-windows2022-msvc-release : true
31+ # Runs to disable
32+ enable-ubuntu2404-gcc-debug : false
33+ enable-ubuntu2404-clang-release : false
34+ enable-ubuntu2404-clang-debug : false
35+ enable-ubuntu2204-gcc-release : false
36+ enable-ubuntu2204-gcc-debug : false
37+ enable-ubuntu2204-clang-release : false
38+ enable-ubuntu2204-clang-debug : false
39+ enable-ubuntu2404-arm-gcc-debug : false
40+ enable-ubuntu2404-arm-clang-release : false
41+ enable-ubuntu2404-arm-clang-debug : false
42+ enable-ubuntu2204-arm-gcc-release : false
43+ enable-ubuntu2204-arm-gcc-debug : false
44+ enable-ubuntu2204-arm-clang-release : false
45+ enable-ubuntu2204-arm-clang-debug : false
46+ enable-macos13-clang-debug : false
47+ enable-macos13-gcc-release : false
48+ enable-macos13-gcc-debug : false
49+ enable-macos14-clang-debug : false
50+ enable-macos14-gcc-release : false
51+ enable-macos14-gcc-debug : false
52+ enable-macos15-clang-release : false
53+ enable-macos15-clang-debug : false
54+ enable-macos15-gcc-release : false
55+ enable-macos15-gcc-debug : false
56+ enable-windows2022-msvc-debug : false
57+ enable-windows2022-clang-release : false
58+ enable-windows2022-clang-debug : false
59+ enable-windows2025-msvc-release : false
60+ enable-windows2025-msvc-debug : false
61+ enable-windows2025-clang-release : false
62+ enable-windows2025-clang-debug : false
63+
64+ # run extensive C++ tests whenever this is on a PR and the PR has the `extensive-cpp-ci` label
65+ cpp-tests-extensive :
66+ name : 🇨 Test (Extensive)
67+ needs : change-detection
68+ if : fromJSON(needs.change-detection.outputs.run-cpp-tests) && github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'extensive-cpp-ci')
69+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-cpp-ci.yml@v1.7
70+ with :
71+ # Runs to enable
72+ enable-ubuntu2404-gcc-debug : true
73+ enable-ubuntu2404-clang-release : true
74+ enable-ubuntu2404-clang-debug : true
75+ enable-ubuntu2204-gcc-release : true
76+ enable-ubuntu2204-gcc-debug : true
77+ enable-ubuntu2204-clang-release : true
78+ enable-ubuntu2204-clang-debug : true
79+ enable-ubuntu2404-arm-gcc-debug : true
80+ enable-ubuntu2404-arm-clang-release : true
81+ enable-ubuntu2404-arm-clang-debug : true
82+ enable-ubuntu2204-arm-gcc-release : true
83+ enable-ubuntu2204-arm-gcc-debug : true
84+ enable-ubuntu2204-arm-clang-release : true
85+ enable-ubuntu2204-arm-clang-debug : true
86+ enable-macos13-clang-debug : true
87+ enable-macos13-gcc-release : true
88+ enable-macos13-gcc-debug : true
89+ enable-macos14-clang-debug : true
90+ enable-macos14-gcc-release : true
91+ enable-macos14-gcc-debug : true
92+ enable-macos15-clang-release : true
93+ enable-macos15-clang-debug : true
94+ enable-macos15-gcc-release : true
95+ enable-macos15-gcc-debug : true
96+ enable-windows2022-msvc-debug : true
97+ enable-windows2022-clang-release : true
98+ enable-windows2022-clang-debug : true
99+ enable-windows2025-msvc-release : true
100+ enable-windows2025-msvc-debug : true
101+ enable-windows2025-clang-release : true
102+ enable-windows2025-clang-debug : true
103+ # Runs to disable (these are already enabled in the non-extensive run)
104+ enable-ubuntu2404-gcc-release : false
105+ enable-ubuntu2404-arm-gcc-release : false
106+ enable-macos13-clang-release : false
107+ enable-macos14-clang-release : false
108+ enable-windows2022-msvc-release : false
109+
110+ cpp-coverage :
111+ name : 🇨 Coverage
112+ needs : change-detection
113+ if : fromJSON(needs.change-detection.outputs.run-cpp-tests)
114+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-cpp-coverage.yml@v1.7
24115 # Explicitly set permissions so that the workflows also work from forks.
25116 permissions :
26117 contents : read # Required for the `actions/checkout` action
27118 id-token : write # Required for the `codecov/codecov-action` action
28- with :
29- cmake-args : " "
30- cmake-args-ubuntu : -G Ninja
31- cmake-args-macos : -G Ninja
32- cmake-args-windows : -T ClangCL
33119
34120 cpp-linter :
35121 name : 🇨 Lint
36122 needs : change-detection
37123 if : fromJSON(needs.change-detection.outputs.run-cpp-linter)
38- uses : cda-tum/mqt-workflows/.github/workflows/reusable-cpp-linter.yml@v1.5
124+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-cpp-linter.yml@v1.7
39125
126+ # run extensive Python tests whenever this is on a PR and the PR has the `extensive-python-ci` label
40127 python-tests :
41128 name : 🐍 Test
42129 needs : change-detection
43130 if : fromJSON(needs.change-detection.outputs.run-python-tests)
44- uses : cda-tum/mqt-workflows/.github/workflows/reusable-python-ci.yml@v1.5
131+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-python-ci.yml@v1.7
45132 # Explicitly set permissions so that the workflows also work from forks.
46133 permissions :
47134 contents : read # Required for the `actions/checkout` action
48135 id-token : write # Required for the `codecov/codecov-action` action
136+ with :
137+ # Runs to enable
138+ enable-ubuntu2404 : true
139+ enable-ubuntu2404-arm : true
140+ enable-macos13 : true
141+ enable-macos14 : true
142+ enable-windows2022 : true
143+ # Runs to disable
144+ enable-ubuntu2204 : false
145+ enable-ubuntu2204-arm : false
146+ enable-macos15 : false
147+ enable-windows2025 : false
148+
149+ python-tests-extensive :
150+ name : 🐍 Test (Extensive)
151+ needs : change-detection
152+ if : fromJSON(needs.change-detection.outputs.run-python-tests) && github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'extensive-python-ci')
153+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-python-ci.yml@v1.7
154+ # Explicitly set permissions so that the workflows also work from forks.
155+ permissions :
156+ contents : read # Required for the `actions/checkout` action
157+ id-token : write # Required for the `codecov/codecov-action` action
158+ with :
159+ # Runs to enable
160+ enable-ubuntu2204 : true
161+ enable-ubuntu2204-arm : true
162+ enable-macos15 : true
163+ enable-windows2025 : true
164+ # Runs to disable (these are already enabled in the non-extensive run)
165+ enable-ubuntu2404 : false
166+ enable-ubuntu2404-arm : false
167+ enable-macos13 : false
168+ enable-macos14 : false
169+ enable-windows2022 : false
170+
171+ python-linter :
172+ name : 🐍 Lint
173+ needs : change-detection
174+ if : fromJSON(needs.change-detection.outputs.run-python-tests)
175+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-python-linter.yml@v1.7
49176
50177 code-ql :
51178 name : 📝 CodeQL
52179 needs : change-detection
53180 if : fromJSON(needs.change-detection.outputs.run-code-ql)
54- uses : cda-tum/mqt-workflows/.github/workflows/reusable-code-ql.yml@v1.5
181+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-code-ql.yml@v1.7
55182
56183 cd :
57184 name : 🚀 CD
58185 needs : change-detection
59186 if : fromJSON(needs.change-detection.outputs.run-cd)
60- uses : cda-tum/mqt-workflows/.github/workflows/reusable-python-packaging.yml@v1.5
187+ uses : cda-tum/mqt-workflows/.github/workflows/reusable-python-packaging.yml@v1.7
61188
62189 required-checks-pass : # This job does nothing and is only used for branch protection
63190 name : 🚦 Check
64191 if : always()
65192 needs :
66193 - change-detection
67194 - cpp-tests
195+ - cpp-tests-extensive
196+ - cpp-coverage
68197 - cpp-linter
69198 - python-tests
199+ - python-tests-extensive
200+ - python-linter
70201 - code-ql
71202 - cd
72203 runs-on : ubuntu-latest
@@ -79,6 +210,14 @@ jobs:
79210 fromJSON(needs.change-detection.outputs.run-cpp-tests)
80211 && '' || 'cpp-tests,'
81212 }}
213+ ${{
214+ fromJSON(needs.change-detection.outputs.run-cpp-tests) && github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'extensive-cpp-ci')
215+ && '' || 'cpp-tests-extensive,'
216+ }}
217+ ${{
218+ fromJSON(needs.change-detection.outputs.run-cpp-tests)
219+ && '' || 'cpp-coverage,'
220+ }}
82221 ${{
83222 fromJSON(needs.change-detection.outputs.run-cpp-linter)
84223 && '' || 'cpp-linter,'
@@ -87,6 +226,14 @@ jobs:
87226 fromJSON(needs.change-detection.outputs.run-python-tests)
88227 && '' || 'python-tests,'
89228 }}
229+ ${{
230+ fromJSON(needs.change-detection.outputs.run-python-tests) && github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'extensive-python-ci')
231+ && '' || 'python-tests-extensive,'
232+ }}
233+ ${{
234+ fromJSON(needs.change-detection.outputs.run-python-tests)
235+ && '' || 'python-linter,'
236+ }}
90237 ${{
91238 fromJSON(needs.change-detection.outputs.run-code-ql)
92239 && '' || 'code-ql,'
0 commit comments