ci: Add some sanity conditions for skips; formatting

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-05-30 15:59:28 +00:00
parent a86bb8b8c7
commit d992333f2e
5 changed files with 38 additions and 8 deletions

View File

@@ -5,7 +5,6 @@ on:
inputs:
bake_targets:
type: string
default: '["default"]'
description: Bake Matrix
cargo_profiles:
type: string
@@ -58,7 +57,13 @@ on:
jobs:
bake:
if: ${{ !failure() && !cancelled() && fromJSON(inputs.machines)[0] != null }}
if: >
${{
!failure() && !cancelled()
&& fromJSON(inputs.machines)[0] != null
&& fromJSON(inputs.bake_targets)[0] != null
}}
name: >
${{matrix.bake_target}}
${{matrix.cargo_profile}}

View File

@@ -133,6 +133,7 @@ jobs:
if: >
${{
!failure() && !cancelled()
&& inputs.cargo.profiles
}}
name: Clippy
uses: ./.github/workflows/bake.yml

View File

@@ -5,7 +5,6 @@ on:
inputs:
cargo_profiles:
type: string
default: '["release"]'
description: Cargo profiles
feat_sets:
type: string

View File

@@ -5,7 +5,6 @@ on:
inputs:
cargo_profiles:
type: string
default: '["release"]'
description: Cargo profiles
feat_sets:
type: string
@@ -48,6 +47,7 @@ jobs:
if: >
${{
!failure() && !cancelled()
&& inputs.machines
&& inputs.docker_repo
&& github.ref == 'refs/heads/main'
}}

View File

@@ -44,7 +44,12 @@ on:
jobs:
unit:
if: ${{contains(fromJSON(inputs.cargo_profiles), fromJSON('["test"]')[0]) && contains(fromJSON(inputs.feat_sets), fromJSON('["all"]')[0]) && contains(fromJSON(inputs.rust_toolchains), fromJSON('["nightly"]')[0])}}
if: >
${{
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: Unit
uses: ./.github/workflows/bake.yml
with:
@@ -61,6 +66,7 @@ jobs:
includes: ${{inputs.includes}}
smoke:
if: inputs.cargo_profiles
name: Smoke
uses: ./.github/workflows/bake.yml
with:
@@ -73,11 +79,24 @@ jobs:
rust_targets: ${{inputs.rust_targets}}
sys_targets: ${{inputs.sys_targets}}
machines: ${{inputs.machines}}
excludes: '[{"cargo_profile": "release", "rust_toolchain": "nightly"}, {"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "test", "feat_set": "default"}, {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, {"cargo_profile": "release-max-perf", "feat_set": "none"}]'
includes: ${{inputs.includes}}
excludes: >
[
{"cargo_profile": "test", "feat_set": "default"},
{"cargo_profile": "release", "rust_toolchain": "nightly"},
{"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"},
{"cargo_profile": "release-max-perf", "rust_toolchain": "stable"},
{"cargo_profile": "release-max-perf", "feat_set": "none"}
]
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])}}
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:
@@ -94,7 +113,13 @@ jobs:
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])}}
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]
runs-on: ${{matrix.machine}}