complement feature vector; upload artifacts
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
5
.github/workflows/bake.yml
vendored
5
.github/workflows/bake.yml
vendored
@@ -54,6 +54,7 @@ on:
|
||||
|
||||
jobs:
|
||||
bake:
|
||||
if: ${{fromJSON(inputs.machines)[0] != null}}
|
||||
name: ${{matrix.bake_target}} ${{matrix.cargo_profile}} ${{matrix.rust_toolchain}} ${{matrix.feat_set}} ${{matrix.sys_name}} ${{matrix.sys_version}} ${{matrix.sys_target}}
|
||||
runs-on: ${{matrix.machine}}
|
||||
strategy:
|
||||
@@ -76,7 +77,7 @@ jobs:
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Bake
|
||||
- name: Bake ${{matrix.bake_target}}
|
||||
env:
|
||||
bake_target: ${{matrix.bake_target}}
|
||||
cargo_profile: ${{matrix.cargo_profile}}
|
||||
@@ -94,4 +95,4 @@ jobs:
|
||||
CI_PRINT_BAKE: ${{inputs.print_bake}}
|
||||
|
||||
run: |
|
||||
docker/bake.sh ${{matrix.bake_target}}
|
||||
docker/bake.sh "${{matrix.bake_target}}"
|
||||
|
||||
22
.github/workflows/deps.yml
vendored
22
.github/workflows/deps.yml
vendored
@@ -51,10 +51,6 @@ on:
|
||||
type: boolean
|
||||
default: true
|
||||
description: Pre-build cargo dependency targets
|
||||
show_docs:
|
||||
type: boolean
|
||||
default: true
|
||||
description: Pre-build cargo rustdoc targets
|
||||
|
||||
jobs:
|
||||
systems:
|
||||
@@ -145,21 +141,3 @@ jobs:
|
||||
machines: ${{inputs.machines}}
|
||||
excludes: ${{inputs.excludes}}
|
||||
includes: ${{inputs.includes}}
|
||||
|
||||
docs:
|
||||
if: ${{ !failure() && !cancelled() && inputs.show_docs }}
|
||||
name: Docs
|
||||
needs: [deps]
|
||||
uses: ./.github/workflows/bake.yml
|
||||
with:
|
||||
bake_targets: '["docs"]'
|
||||
cargo_profiles: ${{inputs.cargo_profiles}}
|
||||
feat_sets: ${{inputs.feat_sets}}
|
||||
rust_toolchains: ${{inputs.rust_toolchains}}
|
||||
sys_names: ${{inputs.sys_names}}
|
||||
sys_versions: ${{inputs.sys_versions}}
|
||||
rust_targets: ${{inputs.rust_targets}}
|
||||
sys_targets: ${{inputs.sys_targets}}
|
||||
machines: ${{inputs.machines}}
|
||||
excludes: ${{inputs.excludes}}
|
||||
includes: ${{inputs.includes}}
|
||||
|
||||
14
.github/workflows/main.yml
vendored
14
.github/workflows/main.yml
vendored
@@ -18,7 +18,7 @@ env:
|
||||
|
||||
jobs:
|
||||
deps:
|
||||
if: ${{ vars.CI_VERBOSE_DEPS || false }}
|
||||
if: ${{fromJSON(vars.CI_VERBOSE_DEPS || 'true')}}
|
||||
name: Deps
|
||||
uses: ./.github/workflows/deps.yml
|
||||
with:
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
rust_toolchains: ${{vars.RUST_TOOLCHAINS}}
|
||||
rust_targets: ${{vars.RUST_TARGETS}}
|
||||
sys_names: ${{vars.SYS_NAMES}}
|
||||
sys_targets: ${{vars.sys_TARGETS}}
|
||||
sys_targets: ${{vars.SYS_TARGETS}}
|
||||
sys_versions: ${{vars.SYS_VERSIONS}}
|
||||
machines: ${{vars.MACHINES}}
|
||||
|
||||
@@ -42,7 +42,7 @@ jobs:
|
||||
rust_toolchains: ${{vars.RUST_TOOLCHAINS}}
|
||||
rust_targets: ${{vars.RUST_TARGETS}}
|
||||
sys_names: ${{vars.SYS_NAMES}}
|
||||
sys_targets: ${{vars.sys_TARGETS}}
|
||||
sys_targets: ${{vars.SYS_TARGETS}}
|
||||
sys_versions: ${{vars.SYS_VERSIONS}}
|
||||
machines: ${{vars.MACHINES}}
|
||||
excludes: '[{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}]'
|
||||
@@ -58,7 +58,7 @@ jobs:
|
||||
rust_toolchains: ${{vars.RUST_TOOLCHAINS}}
|
||||
rust_targets: ${{vars.RUST_TARGETS}}
|
||||
sys_names: ${{vars.SYS_NAMES}}
|
||||
sys_targets: ${{vars.sys_TARGETS}}
|
||||
sys_targets: ${{vars.SYS_TARGETS}}
|
||||
sys_versions: ${{vars.SYS_VERSIONS}}
|
||||
machines: ${{vars.MACHINES}}
|
||||
complement: ${{fromJSON(vars.COMPLEMENT || 'true')}}
|
||||
@@ -75,7 +75,7 @@ jobs:
|
||||
sys_names: ${{vars.SYS_NAMES}}
|
||||
sys_versions: ${{vars.SYS_VERSIONS}}
|
||||
rust_targets: ${{vars.RUST_TARGETS}}
|
||||
sys_targets: ${{vars.sys_TARGETS}}
|
||||
sys_targets: ${{vars.SYS_TARGETS}}
|
||||
machines: ${{vars.MACHINES}}
|
||||
excludes: '[{"cargo_profile": "test"}, {"feat_set": "none"}]'
|
||||
|
||||
@@ -91,10 +91,10 @@ jobs:
|
||||
sys_names: ${{vars.SYS_NAMES}}
|
||||
sys_versions: ${{vars.SYS_VERSIONS}}
|
||||
rust_targets: ${{vars.RUST_TARGETS}}
|
||||
sys_targets: ${{vars.sys_TARGETS}}
|
||||
sys_targets: ${{vars.SYS_TARGETS}}
|
||||
machines: ${{vars.MACHINES}}
|
||||
excludes: '[{"cargo_profile": "test"}, {"feat_set": "none"}]'
|
||||
docker_id: ${{vars.DOCKER_ID}}
|
||||
docker_repo: ${{vars.DOCKER_REPO}}
|
||||
|
||||
secrets:
|
||||
ghcr_token: ${{ secrets.GHCR_TOKEN }}
|
||||
|
||||
12
.github/workflows/publish.yml
vendored
12
.github/workflows/publish.yml
vendored
@@ -36,16 +36,16 @@ on:
|
||||
type: string
|
||||
default: '[]'
|
||||
description: Matrix inclusions
|
||||
docker_id:
|
||||
docker_repo:
|
||||
type: string
|
||||
description: DockerHub ID
|
||||
description: DockerHub Repository
|
||||
secrets:
|
||||
ghcr_token:
|
||||
dockerhub_token:
|
||||
|
||||
jobs:
|
||||
containers:
|
||||
if: ${{ !failure() && !cancelled() && inputs.docker_id }}
|
||||
if: ${{ !failure() && !cancelled() && inputs.docker_repo }}
|
||||
name: Publish containers
|
||||
runs-on: ${{matrix.machine}}
|
||||
permissions: write-all
|
||||
@@ -77,7 +77,7 @@ jobs:
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: docker.io
|
||||
username: ${{ inputs.docker_id }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.dockerhub_token }}
|
||||
|
||||
- name: Bake
|
||||
@@ -93,10 +93,10 @@ jobs:
|
||||
machine: ${{matrix.machine}}
|
||||
acct: ${{github.actor}}
|
||||
repo: ${{github.repository}}
|
||||
docker_repo: ${{inputs.docker_id}}
|
||||
docker_repo: ${{inputs.docker_repo}}
|
||||
|
||||
run: |
|
||||
docker/bake.sh ${{matrix.bake_target}}
|
||||
docker/bake.sh "${{matrix.bake_target}}"
|
||||
|
||||
packages:
|
||||
if: ${{ !failure() && !cancelled() && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) }}
|
||||
|
||||
68
.github/workflows/test.yml
vendored
68
.github/workflows/test.yml
vendored
@@ -38,6 +38,9 @@ on:
|
||||
complement:
|
||||
type: boolean
|
||||
default: true
|
||||
complement_feat_sets:
|
||||
type: string
|
||||
default: '["all"]'
|
||||
|
||||
jobs:
|
||||
unit:
|
||||
@@ -73,44 +76,27 @@ jobs:
|
||||
excludes: '[{"cargo_profile": "release", "rust_toolchain": "nightly"}, {"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "test", "feat_set": "default"}]'
|
||||
includes: ${{inputs.includes}}
|
||||
|
||||
complement_tester:
|
||||
if: ${{inputs.complement && contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0]) && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) && contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])}}
|
||||
name: Complement Tester
|
||||
uses: ./.github/workflows/bake.yml
|
||||
with:
|
||||
bake_targets: '["complement-tester"]'
|
||||
cargo_profiles: '["test"]'
|
||||
feat_sets: '["all"]'
|
||||
rust_toolchains: '["nightly"]'
|
||||
sys_names: ${{inputs.sys_names}}
|
||||
sys_versions: ${{inputs.sys_versions}}
|
||||
rust_targets: ${{inputs.rust_targets}}
|
||||
sys_targets: ${{inputs.sys_targets}}
|
||||
machines: ${{inputs.machines}}
|
||||
excludes: ${{inputs.excludes}}
|
||||
includes: ${{inputs.includes}}
|
||||
|
||||
complement_testee:
|
||||
if: ${{inputs.complement && contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0]) && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) && contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])}}
|
||||
name: Complement Testee
|
||||
uses: ./.github/workflows/bake.yml
|
||||
with:
|
||||
bake_targets: '["complement-testee"]'
|
||||
cargo_profiles: '["test"]'
|
||||
feat_sets: '["all"]'
|
||||
rust_toolchains: '["nightly"]'
|
||||
sys_names: ${{inputs.sys_names}}
|
||||
sys_versions: ${{inputs.sys_versions}}
|
||||
rust_targets: ${{inputs.rust_targets}}
|
||||
sys_targets: ${{inputs.sys_targets}}
|
||||
machines: ${{inputs.machines}}
|
||||
excludes: ${{inputs.excludes}}
|
||||
includes: ${{inputs.includes}}
|
||||
|
||||
complement:
|
||||
if: ${{inputs.complement && contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0]) && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) && contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])}}
|
||||
name: Complement
|
||||
uses: ./.github/workflows/bake.yml
|
||||
with:
|
||||
bake_targets: '["complement-tester", "complement-testee"]'
|
||||
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: ${{inputs.sys_targets}}
|
||||
machines: ${{inputs.machines}}
|
||||
excludes: ${{inputs.excludes}}
|
||||
includes: ${{inputs.includes}}
|
||||
|
||||
compliance:
|
||||
if: ${{inputs.complement && contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0]) && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) && contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])}}
|
||||
name: Matrix Compliance
|
||||
needs: [complement_tester, complement_testee]
|
||||
needs: [complement]
|
||||
runs-on: ${{matrix.machine}}
|
||||
concurrency:
|
||||
group: complement-cant-walk-and-chew-bubblegum
|
||||
@@ -120,8 +106,8 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
cargo_profile: ${{fromJSON('["test"]')}}
|
||||
feat_set: ${{fromJSON(inputs.complement_feat_sets)}}
|
||||
rust_toolchain: ${{fromJSON('["nightly"]')}}
|
||||
feat_set: ${{fromJSON('["all"]')}}
|
||||
sys_name: ${{fromJSON(inputs.sys_names)}}
|
||||
sys_version: ${{fromJSON(inputs.sys_versions)}}
|
||||
rust_target: ${{fromJSON(inputs.rust_targets)}}
|
||||
@@ -147,7 +133,7 @@ jobs:
|
||||
run: |
|
||||
docker/complement.sh
|
||||
|
||||
- name: Results
|
||||
- name: Extract
|
||||
id: extract
|
||||
env:
|
||||
name: complement_tester__${{matrix.cargo_profile}}__${{matrix.rust_toolchain}}__${{matrix.rust_target}}__${{matrix.feat_set}}__${{matrix.sys_name}}__${{matrix.sys_version}}__${{matrix.sys_target}}
|
||||
@@ -156,11 +142,15 @@ jobs:
|
||||
run: |
|
||||
cid=$(cat "$name")
|
||||
docker cp "$cid:/usr/src/complement/new_results.jsonl" tests/test_results/complement/test_results.jsonl
|
||||
git diff --exit-code --color --color-moved
|
||||
|
||||
- name: Artifacts
|
||||
- name: Upload
|
||||
id: upload
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: test_results.${{matrix.feat_set}}.${{matrix.sys_name}}.${{matrix.sys_target}}.jsonl
|
||||
path: ./tests/test_results/complement/test_results.jsonl
|
||||
|
||||
- name: Accept
|
||||
id: accept
|
||||
run: |
|
||||
git diff --exit-code --color --color-moved
|
||||
|
||||
Reference in New Issue
Block a user