Skip to content

Commit c4dc30d

Browse files
authored
test(conformance): run driver suites with cargo (#3866)
* test(conformance): run driver suites with cargo Signed-off-by: Evan Lezar <elezar@nvidia.com> * fix(e2e): resolve conformance CLI path before cargo tests Signed-off-by: Evan Lezar <elezar@nvidia.com> * refactor(conformance): remove unused CLI scenario APIs Signed-off-by: Evan Lezar <elezar@nvidia.com> --------- Signed-off-by: Evan Lezar <elezar@nvidia.com>
1 parent ca18712 commit c4dc30d

28 files changed

Lines changed: 97 additions & 571 deletions
Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
name: Setup E2E CLI
22
description: Download architecture-matched prebuilt OpenShell host CLIs for E2E tests
33

4-
inputs:
5-
conformance-artifact-prefix:
6-
description: Optional conformance CLI artifact name prefix; linux-<arch> is appended automatically
7-
required: false
8-
default: ""
9-
104
runs:
115
using: composite
126
steps:
@@ -23,27 +17,3 @@ runs:
2317
chmod +x "$cli"
2418
"$cli" --version
2519
echo "OPENSHELL_BIN=$cli" >> "$GITHUB_ENV"
26-
27-
- name: Download prebuilt conformance CLI
28-
if: inputs.conformance-artifact-prefix != ''
29-
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
30-
with:
31-
name: ${{ format('{0}-{1}', inputs.conformance-artifact-prefix, runner.arch == 'X64' && 'x86_64-unknown-linux-musl' || 'aarch64-unknown-linux-musl') }}
32-
path: .e2e/prebuilt-conformance
33-
34-
- name: Configure prebuilt conformance CLI
35-
if: inputs.conformance-artifact-prefix != ''
36-
shell: bash
37-
run: | # zizmor: ignore[github-env] validated filename under the trusted workspace path
38-
set -euo pipefail
39-
conformance="$GITHUB_WORKSPACE/.e2e/prebuilt-conformance/openshell-conformance"
40-
if [[ ! -f "$conformance" ]]; then
41-
echo "downloaded artifact is missing $conformance" >&2
42-
exit 1
43-
fi
44-
# TODO: Remove this temporary mode diagnostic after CI confirms artifact permission handling.
45-
echo "conformance binary mode before chmod: $(ls -l "$conformance")"
46-
chmod +x "$conformance"
47-
echo "conformance binary mode after chmod: $(ls -l "$conformance")"
48-
"$conformance" list --output json >/dev/null
49-
echo "OPENSHELL_CONFORMANCE_BIN=$conformance" >> "$GITHUB_ENV"

‎.github/workflows/branch-e2e.yml‎

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,6 @@ jobs:
310310
with:
311311
image-tag: ${{ github.sha }}
312312
runner: linux-arm64-cpu8
313-
conformance-artifact-prefix: openshell-conformance
314313

315314
podman-e2e:
316315
needs: [pr_metadata, build-binaries, build-images]
@@ -322,7 +321,6 @@ jobs:
322321
uses: ./.github/workflows/e2e-podman-test.yml
323322
with:
324323
image-tag: ${{ github.sha }}
325-
conformance-artifact-prefix: openshell-conformance
326324
suite-matrix: >-
327325
[{"suite":"ci","runner":"ubuntu-26.04","podman_major":"5","podman_package_version":"5.7.0+ds2-3build1","conmon_package_version":"2.1.13+ds1-2","cmd":"mise run --no-deps --skip-deps e2e:podman:ci"}]
328326
@@ -334,8 +332,6 @@ jobs:
334332
contents: read
335333
packages: read
336334
uses: ./.github/workflows/e2e-vm-test.yml
337-
with:
338-
conformance-artifact-prefix: openshell-conformance
339335

340336
docker-external-driver-e2e:
341337
needs: [pr_metadata, build-binaries, build-gateway-plain, build-external-drivers, build-images]
@@ -350,7 +346,6 @@ jobs:
350346
runner: linux-arm64-cpu8
351347
gateway-artifact: openshell-gateway-plain-aarch64-unknown-linux-gnu
352348
external-driver-binary: openshell-driver-docker
353-
conformance-artifact-prefix: openshell-conformance
354349
suite-matrix: >-
355350
[{"suite":"external-driver","cmd":"mise run --no-deps --skip-deps e2e:docker:external-driver","apt_packages":"openssh-client","python_proto":false,"mcp":false}]
356351
@@ -366,7 +361,6 @@ jobs:
366361
image-tag: ${{ github.sha }}
367362
gateway-artifact: openshell-gateway-plain-x86_64-unknown-linux-gnu
368363
external-driver-binary: openshell-driver-podman
369-
conformance-artifact-prefix: openshell-conformance
370364
suite-matrix: >-
371365
[{"suite":"external-driver","runner":"ubuntu-26.04","podman_major":"5","podman_package_version":"5.7.0+ds2-3build1","conmon_package_version":"2.1.13+ds1-2","cmd":"mise run --no-deps --skip-deps e2e:podman:external-driver"}]
372366
@@ -382,7 +376,6 @@ jobs:
382376
gateway-artifact: openshell-gateway-plain-x86_64-unknown-linux-gnu
383377
suite-name: external-driver
384378
e2e-task: e2e:vm:external-driver
385-
conformance-artifact-prefix: openshell-conformance
386379

387380
gpu-e2e:
388381
needs: [pr_metadata, build-binaries, build-images]
@@ -394,7 +387,6 @@ jobs:
394387
uses: ./.github/workflows/e2e-gpu-test.yaml
395388
with:
396389
image-tag: ${{ github.sha }}
397-
conformance-artifact-prefix: openshell-conformance
398390

399391
kubernetes-e2e:
400392
needs: [pr_metadata, build-binaries, build-images]
@@ -416,7 +408,6 @@ jobs:
416408
image-tag: ${{ github.sha }}
417409
job-name: Kubernetes E2E (Rust smoke, Agent Sandbox ${{ matrix.agent_sandbox_api }})
418410
agent-sandbox-version: ${{ matrix.agent_sandbox_version }}
419-
conformance-artifact-prefix: openshell-conformance
420411

421412
kubernetes-workspace-managed-e2e:
422413
needs: [pr_metadata, build-binaries, build-images]
@@ -430,7 +421,6 @@ jobs:
430421
image-tag: ${{ github.sha }}
431422
job-name: Kubernetes E2E (workspace managed mode)
432423
e2e-task: e2e:kubernetes:workspace-managed
433-
conformance-artifact-prefix: openshell-conformance
434424

435425
kubernetes-external-driver-e2e:
436426
needs: [pr_metadata, build-binaries, build-gateway-plain, build-external-drivers, build-images]
@@ -447,7 +437,6 @@ jobs:
447437
gateway-artifact: openshell-gateway-plain-x86_64-unknown-linux-gnu
448438
external-driver-binary: openshell-driver-kubernetes
449439
cluster-images: sandbox supervisor
450-
conformance-artifact-prefix: openshell-conformance
451440

452441
kubernetes-workspace-operator-e2e:
453442
needs: [pr_metadata, build-binaries, build-images]
@@ -461,7 +450,6 @@ jobs:
461450
image-tag: ${{ github.sha }}
462451
job-name: Kubernetes E2E (workspace operator mode)
463452
e2e-task: e2e:kubernetes:workspace-operator
464-
conformance-artifact-prefix: openshell-conformance
465453

466454
kubernetes-ha-e2e:
467455
needs: [pr_metadata, build-binaries, build-images]
@@ -479,7 +467,6 @@ jobs:
479467
test-name: kubernetes_ha_rebalancing
480468
kubernetes-features: e2e,e2e-host-gateway,e2e-kubernetes,e2e-kubernetes-ha
481469
use-envoy-gateway: true
482-
conformance-artifact-prefix: openshell-conformance
483470

484471
kubernetes-credential-drivers-e2e:
485472
needs: [pr_metadata, build-binaries, build-images]
@@ -493,7 +480,6 @@ jobs:
493480
image-tag: ${{ github.sha }}
494481
job-name: Kubernetes Credential Drivers E2E
495482
e2e-task: e2e:kubernetes:credential-drivers
496-
conformance-artifact-prefix: openshell-conformance
497483

498484
core-e2e-result:
499485
name: Core E2E result

‎.github/workflows/build-binaries.yml‎

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -62,22 +62,6 @@ jobs:
6262
supervisor-image-tag: ${{ inputs.supervisor-image-tag }}
6363
extra-cargo-flags: ${{ env.EXTRA_CARGO_FLAGS }}
6464

65-
conformance:
66-
name: openshell-conformance (${{ matrix.triple }})
67-
env:
68-
PACKAGE: openshell-conformance-cli
69-
BINARY: openshell-conformance
70-
strategy:
71-
matrix:
72-
include:
73-
- triple: x86_64-unknown-linux-musl
74-
runner: linux-amd64-cpu8
75-
- triple: aarch64-unknown-linux-musl
76-
runner: linux-arm64-cpu8
77-
runs-on: ${{ matrix.runner }}
78-
timeout-minutes: 60
79-
steps: *build_steps
80-
8165
prover:
8266
name: openshell-prover (${{ matrix.triple }})
8367
env:

‎.github/workflows/e2e-docker-test.yml‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@ on:
2525
required: false
2626
type: string
2727
default: ""
28-
conformance-artifact-prefix:
29-
required: false
30-
type: string
31-
default: ""
3228
suite-matrix:
3329
required: false
3430
type: string
@@ -71,8 +67,6 @@ jobs:
7167
persist-credentials: false
7268

7369
- uses: ./.github/actions/setup-e2e-cli
74-
with:
75-
conformance-artifact-prefix: ${{ inputs.conformance-artifact-prefix }}
7670

7771
- uses: ./.github/actions/setup-e2e-gateway
7872
with:

‎.github/workflows/e2e-gpu-test.yaml‎

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@ on:
77
description: "Image tag to test (typically the commit SHA)"
88
required: true
99
type: string
10-
conformance-artifact-prefix:
11-
description: "Optional prebuilt conformance CLI artifact prefix (artifact suffix is <triple>)"
12-
required: false
13-
type: string
14-
default: ""
1510

1611
permissions:
1712
actions: read
@@ -66,8 +61,6 @@ jobs:
6661

6762
- name: Use prebuilt OpenShell CLI
6863
uses: ./.github/actions/setup-e2e-cli
69-
with:
70-
conformance-artifact-prefix: ${{ inputs.conformance-artifact-prefix }}
7164

7265
- name: Use prebuilt OpenShell gateway
7366
uses: ./.github/actions/setup-e2e-gateway

‎.github/workflows/e2e-kubernetes-test.yml‎

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,6 @@ on:
6767
required: false
6868
type: string
6969
default: ""
70-
conformance-artifact-prefix:
71-
description: "Optional prebuilt conformance CLI artifact prefix (artifact suffix is <triple>)"
72-
required: false
73-
type: string
74-
default: ""
7570
external-driver-binary:
7671
description: "Optional standalone compute driver binary used to compose a local test image"
7772
required: false
@@ -112,8 +107,6 @@ jobs:
112107

113108
- name: Use prebuilt OpenShell CLI
114109
uses: ./.github/actions/setup-e2e-cli
115-
with:
116-
conformance-artifact-prefix: ${{ inputs.conformance-artifact-prefix }}
117110

118111
- name: Use prebuilt OpenShell gateway
119112
if: inputs.gateway-artifact != ''

‎.github/workflows/e2e-podman-test.yml‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ on:
2121
required: false
2222
type: string
2323
default: ""
24-
conformance-artifact-prefix:
25-
required: false
26-
type: string
27-
default: ""
2824
suite-matrix:
2925
required: true
3026
type: string
@@ -56,8 +52,6 @@ jobs:
5652
persist-credentials: false
5753

5854
- uses: ./.github/actions/setup-e2e-cli
59-
with:
60-
conformance-artifact-prefix: ${{ inputs.conformance-artifact-prefix }}
6155

6256
- uses: ./.github/actions/setup-e2e-gateway
6357
with:

‎.github/workflows/e2e-vm-test.yml‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@ on:
2222
required: false
2323
type: string
2424
default: e2e:vm
25-
conformance-artifact-prefix:
26-
required: false
27-
type: string
28-
default: ""
2925

3026
permissions:
3127
actions: read
@@ -47,8 +43,6 @@ jobs:
4743
persist-credentials: false
4844

4945
- uses: ./.github/actions/setup-e2e-cli
50-
with:
51-
conformance-artifact-prefix: ${{ inputs.conformance-artifact-prefix }}
5246

5347
- uses: ./.github/actions/setup-e2e-gateway
5448
with:

‎.github/workflows/release-dev.yml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@ jobs:
159159
image-tag: ${{ github.sha }}
160160
checkout-ref: ${{ github.sha }}
161161
runner: linux-arm64-cpu8
162-
conformance-artifact-prefix: openshell-conformance
163162

164163
vm-e2e:
165164
needs: [build-binaries, build-vm-driver]
@@ -170,7 +169,6 @@ jobs:
170169
uses: ./.github/workflows/e2e-vm-test.yml
171170
with:
172171
checkout-ref: ${{ github.sha }}
173-
conformance-artifact-prefix: openshell-conformance
174172

175173
tag-ghcr-dev:
176174
name: Tag GHCR Images as Dev

‎.github/workflows/release-tag.yml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,6 @@ jobs:
210210
image-tag: ${{ needs.compute-versions.outputs.source_sha }}
211211
checkout-ref: ${{ needs.compute-versions.outputs.source_sha }}
212212
runner: linux-arm64-cpu8
213-
conformance-artifact-prefix: openshell-conformance
214213

215214
vm-e2e:
216215
needs: [compute-versions, build-binaries, build-vm-driver]
@@ -221,7 +220,6 @@ jobs:
221220
uses: ./.github/workflows/e2e-vm-test.yml
222221
with:
223222
checkout-ref: ${{ needs.compute-versions.outputs.source_sha }}
224-
conformance-artifact-prefix: openshell-conformance
225223

226224
protobuf-compatibility:
227225
name: Protobuf Compatibility

0 commit comments

Comments
 (0)