From 8ce0ab5bf77d8cf2acc843c77a89243a90f4a59c Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 3 Jun 2025 22:25:05 +0000 Subject: [PATCH] ci: Add release-debuginfo to pipeline. Signed-off-by: Jason Volk --- .github/workflows/main.yml | 40 +++++++++++++++++++++++++------------- .github/workflows/test.yml | 6 ++++-- docker/bake.hcl | 3 +++ 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 811311bf..d7b368d9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,13 +26,6 @@ jobs: default_rust_targets: '["x86_64-unknown-linux-gnu"]' default_sys_targets: '["x86_64-linux-gnu"]' default_machines: '["x86_64"]' - default_excludes: > - [ - {"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, - {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, - {"cargo_profile": "release-max-perf", "feat_set": "none"}, - {"cargo_profile": "test", "rust_toolchain": "stable", "feat_set": "none"} - ] outputs: cargo_profiles: ${{vars.CARGO_PROFILES || env.default_cargo_profiles}} @@ -43,7 +36,6 @@ jobs: sys_targets: ${{vars.SYS_TARGETS || env.default_sys_targets}} sys_versions: ${{vars.SYS_VERSIONS || env.default_sys_versions}} machines: ${{vars.MACHINES || env.default_machines}} - excludes: ${{vars.EXCLUDES || env.default_excludes}} steps: - name: Initialize Builder @@ -115,7 +107,16 @@ jobs: sys_targets: ${{needs.init.outputs.sys_targets}} sys_versions: ${{needs.init.outputs.sys_versions}} machines: ${{needs.init.outputs.machines}} - excludes: ${{needs.init.outputs.excludes}} + excludes: > + [ + {"cargo_profile": "release-debuginfo"}, + {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, + {"cargo_profile": "release-max-perf", "feat_set": "none"}, + {"cargo_profile": "release-max-perf", "feat_set": "default"}, + {"cargo_profile": "test", "rust_toolchain": "stable", "feat_set": "none"}, + {"cargo_profile": "release", "rust_toolchain": "nightly", "feat_set": "none"}, + {"cargo_profile": "release", "rust_toolchain": "nightly", "feat_set": "default"} + ] test: if: > @@ -125,6 +126,7 @@ jobs: needs: [init, lint] uses: ./.github/workflows/test.yml with: + complement: ${{fromJSON(vars.COMPLEMENT || 'true')}} cargo_profiles: ${{needs.init.outputs.cargo_profiles}} feat_sets: ${{needs.init.outputs.feat_sets}} rust_toolchains: ${{needs.init.outputs.rust_toolchains}} @@ -133,8 +135,14 @@ jobs: sys_targets: ${{needs.init.outputs.sys_targets}} sys_versions: ${{needs.init.outputs.sys_versions}} machines: ${{needs.init.outputs.machines}} - excludes: ${{needs.init.outputs.excludes}} - complement: ${{fromJSON(vars.COMPLEMENT || 'true')}} + excludes: > + [ + {"cargo_profile": "test", "rust_toolchain": "stable", "feat_set": "none"}, + {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, + {"cargo_profile": "release-max-perf", "feat_set": "default"}, + {"cargo_profile": "release-max-perf", "feat_set": "none"}, + {"cargo_profile": "release"} + ] package: if: > @@ -156,9 +164,12 @@ jobs: [ {"feat_set": "none"}, {"cargo_profile": "test"}, - {"cargo_profile": "release", "rust_toolchain": "nightly"}, + {"cargo_profile": "release-debuginfo", "feat_set": "default"}, + {"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, {"cargo_profile": "release-max-perf", "feat_set": "default"}, - {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"} + {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, + {"cargo_profile": "release-max-perf", "feat_set": "default"}, + {"cargo_profile": "release", "rust_toolchain": "nightly"} ] publish: @@ -166,7 +177,7 @@ jobs: !failure() && !cancelled() name: Publish - needs: [package, test] + needs: [init, package, test] uses: ./.github/workflows/publish.yml with: docker_repo: ${{vars.DOCKER_REPO}} @@ -183,6 +194,7 @@ jobs: {"feat_set": "none"}, {"cargo_profile": "test"}, {"rust_toolchain": "nightly", "cargo_profile": "release"}, + {"cargo_profile": "release-debuginfo"}, {"cargo_profile": "release-max-perf"} ] diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index da088b7f..c7ee64cb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -84,9 +84,11 @@ jobs: {"cargo_profile": "test", "feat_set": "default"}, {"cargo_profile": "test", "rust_toolchain": "stable"}, {"cargo_profile": "release", "rust_toolchain": "nightly"}, - {"cargo_profile": "release-debuginfo", "rust_toolchain": "nightly"}, + {"cargo_profile": "release", "rust_toolchain": "stable", "feat_set": "none"}, + {"cargo_profile": "release-debuginfo"}, {"cargo_profile": "release-max-perf", "rust_toolchain": "stable"}, - {"cargo_profile": "release-max-perf", "feat_set": "none"} + {"cargo_profile": "release-max-perf", "feat_set": "none"}, + {"cargo_profile": "release-max-perf", "feat_set": "default"} ] complement: diff --git a/docker/bake.hcl b/docker/bake.hcl index 76c91b9f..ee2d1675 100644 --- a/docker/bake.hcl +++ b/docker/bake.hcl @@ -1126,6 +1126,9 @@ target "deps-base" { CARGO_PROFILE_BENCH_LTO = "false" CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG = "false" CARGO_PROFILE_RELEASE_LTO = "thin" + CARGO_PROFILE_RELEASE_DEBUGINFO_BUILD_OVERRIDE_DEBUG = "false" + CARGO_PROFILE_RELEASE_DEBUGINFO_DEBUG = "limited" + CARGO_PROFILE_RELEASE_DEBUGINFO_LTO = "off" CARGO_BUILD_RUSTFLAGS = ( cargo_profile == "release-max-perf"?