|
23 | 23 | pull-requests: read |
24 | 24 | outputs: |
25 | 25 | should_run: ${{ steps.gate.outputs.should_run }} |
| 26 | + run_integration: ${{ steps.labels.outputs.run_core_e2e }} |
26 | 27 | run_core_e2e: ${{ steps.labels.outputs.run_core_e2e }} |
27 | 28 | run_gpu_e2e: ${{ steps.labels.outputs.run_gpu_e2e }} |
28 | 29 | run_kubernetes_ha_e2e: ${{ steps.labels.outputs.run_kubernetes_ha_e2e }} |
@@ -199,40 +200,82 @@ jobs: |
199 | 200 | packages: write |
200 | 201 | uses: ./.github/workflows/build-images.yml |
201 | 202 |
|
202 | | - docker-e2e: |
| 203 | + prepare-integration: |
203 | 204 | needs: [pr_metadata, build-binaries, build-images] |
204 | | - if: needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true' |
| 205 | + if: needs.pr_metadata.outputs.run_integration == 'true' |
205 | 206 | permissions: |
206 | 207 | actions: read |
207 | 208 | contents: read |
208 | 209 | packages: read |
209 | | - uses: ./.github/workflows/e2e-docker-test.yml |
| 210 | + uses: ./.github/workflows/prepare-integration-inputs.yml |
| 211 | + |
| 212 | + # Run driver-independent conformance tests. |
| 213 | + conformance-integration: |
| 214 | + needs: prepare-integration |
| 215 | + permissions: |
| 216 | + actions: read |
| 217 | + contents: read |
| 218 | + packages: read |
| 219 | + uses: ./.github/workflows/integration-runner.yml |
210 | 220 | with: |
211 | | - image-tag: ${{ github.sha }} |
212 | | - runner: linux-arm64-cpu8 |
213 | | - conformance-artifact-prefix: openshell-conformance |
| 221 | + category: conformance |
| 222 | + source-sha: ${{ needs.prepare-integration.outputs.source_sha }} |
| 223 | + integration-inputs-artifact-id: ${{ needs.prepare-integration.outputs.integration_inputs_artifact_id }} |
| 224 | + test-matrix: >- |
| 225 | + [ |
| 226 | + {"scenario":"ubuntu-docker-rootful","testsuite":"conformance"}, |
| 227 | + {"scenario":"fedora-podman-rootful","testsuite":"conformance"}, |
| 228 | + {"scenario":"fedora-podman-rootless","testsuite":"conformance"} |
| 229 | + ] |
214 | 230 |
|
215 | | - podman-e2e: |
216 | | - needs: [pr_metadata, build-binaries, build-images] |
217 | | - if: needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true' |
| 231 | + # Run feature-specific integration tests: |
| 232 | + feature-specific-integration: |
| 233 | + needs: prepare-integration |
218 | 234 | permissions: |
219 | 235 | actions: read |
220 | 236 | contents: read |
221 | 237 | packages: read |
222 | | - uses: ./.github/workflows/tmachine-test.yml |
| 238 | + uses: ./.github/workflows/integration-runner.yml |
223 | 239 | with: |
| 240 | + category: feature-specific |
| 241 | + source-sha: ${{ needs.prepare-integration.outputs.source_sha }} |
| 242 | + integration-inputs-artifact-id: ${{ needs.prepare-integration.outputs.integration_inputs_artifact_id }} |
224 | 243 | test-matrix: >- |
225 | 244 | [ |
226 | | - { |
227 | | - "scenario":"fedora-podman-rootful", |
228 | | - "testsuite":"conformance" |
229 | | - }, |
230 | | - { |
231 | | - "scenario":"fedora-podman-rootful", |
232 | | - "testsuite":"provider-refresh" |
233 | | - } |
| 245 | + {"scenario":"fedora-podman-rootful","testsuite":"provider-refresh"}, |
| 246 | + {"scenario":"fedora-podman-rootless","testsuite":"provider-refresh"} |
234 | 247 | ] |
235 | 248 |
|
| 249 | + # Run driver-specific integration tests: |
| 250 | + # TODO: This should be added as soon as we have driver-specific tests enabled in tmachine. |
| 251 | + # driver-specific: |
| 252 | + # needs: prepare-integration |
| 253 | + # permissions: |
| 254 | + # actions: read |
| 255 | + # contents: read |
| 256 | + # packages: read |
| 257 | + # uses: ./.github/workflows/integration-runner.yml |
| 258 | + # with: |
| 259 | + # category: driver-specific |
| 260 | + # source-sha: ${{ needs.prepare-integration.outputs.source_sha }} |
| 261 | + # integration-inputs-artifact-id: ${{ needs.prepare-integration.outputs.integration_inputs_artifact_id }} |
| 262 | + # test-matrix: >- |
| 263 | + # [ |
| 264 | + # ] |
| 265 | + |
| 266 | + docker-e2e: |
| 267 | + needs: [pr_metadata, build-binaries, build-images] |
| 268 | + if: needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true' |
| 269 | + permissions: |
| 270 | + actions: read |
| 271 | + contents: read |
| 272 | + packages: read |
| 273 | + uses: ./.github/workflows/e2e-docker-test.yml |
| 274 | + with: |
| 275 | + image-tag: ${{ github.sha }} |
| 276 | + runner: linux-arm64-cpu8 |
| 277 | + conformance-artifact-prefix: openshell-conformance |
| 278 | + |
236 | 279 | vm-e2e: |
237 | 280 | needs: [pr_metadata, build-binaries, build-vm-driver] |
238 | 281 | if: needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true' |
@@ -401,7 +444,19 @@ jobs: |
401 | 444 |
|
402 | 445 | core-e2e-result: |
403 | 446 | name: Core E2E result |
404 | | - needs: [pr_metadata, docker-e2e, podman-e2e, vm-e2e, docker-external-driver-e2e, podman-external-driver-e2e, vm-external-driver-e2e, kubernetes-e2e, kubernetes-external-driver-e2e, kubernetes-workspace-managed-e2e, kubernetes-workspace-operator-e2e] |
| 447 | + needs: |
| 448 | + - pr_metadata |
| 449 | + - conformance-integration |
| 450 | + - feature-specific-integration |
| 451 | + - docker-e2e |
| 452 | + - vm-e2e |
| 453 | + - docker-external-driver-e2e |
| 454 | + - podman-external-driver-e2e |
| 455 | + - vm-external-driver-e2e |
| 456 | + - kubernetes-e2e |
| 457 | + - kubernetes-external-driver-e2e |
| 458 | + - kubernetes-workspace-managed-e2e |
| 459 | + - kubernetes-workspace-operator-e2e |
405 | 460 | if: always() && needs.pr_metadata.outputs.should_run == 'true' && needs.pr_metadata.outputs.run_core_e2e == 'true' |
406 | 461 | runs-on: ubuntu-latest |
407 | 462 | steps: |
|
0 commit comments