ci: Add matrix-rust-sdk integration testing.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-09-24 05:52:46 +00:00
parent 377b7166f0
commit 6d3ed09a2b
5 changed files with 182 additions and 4 deletions

View File

@@ -47,6 +47,7 @@ jobs:
docker_repo: ${{vars.DOCKER_REPO}}
release_url: ${{steps.release.outputs.upload_url}}
pages_url: 'https://matrix-construct.github.io/tuwunel/'
rust_sdk_integration: ${{vars.RUST_SDK_INTEGRATION || 'true'}}
strategy:
fail-fast: true
@@ -59,8 +60,8 @@ jobs:
- name: Initialize Builder
env:
runner: ${{matrix.runner}}
reserved_space: '{"het": "128GB", "aws": "48GB", "gcp": "160GB"}'
max_used_space: '{"het": "256GB", "aws": "64GB", "gcp": "192GB"}'
reserved_space: '{"het": "192GB", "aws": "48GB", "gcp": "160GB"}'
max_used_space: '{"het": "384GB", "aws": "64GB", "gcp": "192GB"}'
run: |
set +e
docker buildx inspect "${GITHUB_ACTOR}"
@@ -167,6 +168,7 @@ jobs:
needs: [init, lint]
uses: ./.github/workflows/test.yml
with:
rust_sdk_integration: ${{fromJSON(needs.init.outputs.rust_sdk_integration)}}
complement: ${{fromJSON(needs.init.outputs.complement)}}
complement_runner: ${{needs.init.outputs.complement_runner}}
cargo_profiles: ${{needs.init.outputs.cargo_profiles}}

View File

@@ -43,6 +43,9 @@ on:
default: '["all"]'
complement_runner:
type: string
rust_sdk_integration:
type: boolean
default: true
jobs:
docs:
@@ -160,6 +163,38 @@ jobs:
{"sys_target": "x86_64-v4-linux-gnu", "bake_target": "smoke-valgrind"},
]
rust-sdk-integration:
if: >
!failure() && !cancelled()
&& inputs.rust_sdk_integration
&& contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0])
&& contains(fromJSON(inputs.complement_feat_sets), fromJSON('["all"]')[0])
&& contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])
&& contains(fromJSON(inputs.sys_targets), fromJSON('["x86_64-v1-linux-gnu"]')[0])
name: Rust SDK Integration
uses: ./.github/workflows/bake.yml
with:
bake_targets: '["matrix-rust-sdk-integration"]'
cargo_profiles: '["test"]'
feat_sets: ${{inputs.complement_feat_sets}}
rust_toolchains: '["nightly"]'
sys_names: ${{inputs.sys_names}}
sys_versions: ${{inputs.sys_versions}}
rust_targets: ${{inputs.rust_targets}}
sys_targets: '["x86_64-v1-linux-gnu"]'
machines: ${{inputs.machines}}
runner: ${{inputs.complement_runner}}
excludes: ${{inputs.excludes}}
includes: ${{inputs.includes}}
artifact: >
{
"matrix-rust-sdk-integration": {
"src": "/var/log/tuwunel.log",
"dst": "rust-sdk-integration.tuwunel.log",
}
}
complement:
if: >
!failure() && !cancelled()