From db6f3d2bfdfff906bb36a0a3f157f6c5e97c1a57 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Thu, 1 Jun 2023 19:48:00 +1000 Subject: [PATCH] ci: Disable lto for `ci.yml` job release-builds (#1114) LTO takes way too long and it is mature enough that it usually does not have any miscompilation. Signed-off-by: Jiahao XU --- .github/workflows/ci.yml | 3 +++ .github/workflows/release-build.yml | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e38454cb..44d1b72b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -151,6 +151,9 @@ jobs: release-builds: uses: ./.github/workflows/release-build.yml + with: + CARGO_PROFILE_RELEASE_LTO: no + CARGO_PROFILE_RELEASE_CODEGEN_UNITS: 1024 # Dummy job to have a stable name for the "all tests pass" requirement tests-pass: diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml index e8a8dc73..507cd373 100644 --- a/.github/workflows/release-build.yml +++ b/.github/workflows/release-build.yml @@ -8,6 +8,14 @@ on: description: "Set to the release metadata JSON to publish the release" required: false type: string + CARGO_PROFILE_RELEASE_LTO: + description: "Set to override default release profile lto settings" + required: false + type: string + CARGO_PROFILE_RELEASE_CODEGEN_UNITS: + description: "Set to override default release profile codegen-units settings" + required: false + type: string env: CARGO_TERM_COLOR: always @@ -54,6 +62,14 @@ jobs: - run: just toolchain rust-src - run: just ci-install-deps + - name: Override release profile lto settings + if: inputs.CARGO_PROFILE_RELEASE_LTO + run: echo "CARGO_PROFILE_RELEASE_LTO=${{ inputs.CARGO_PROFILE_RELEASE_LTO }}" >> "$GITHUB_ENV" + + - name: Override release profile codegen-units settings + if: inputs.CARGO_PROFILE_RELEASE_CODEGEN_UNITS + run: echo "CARGO_PROFILE_RELEASE_CODEGEN_UNITS=${{ inputs.CARGO_PROFILE_RELEASE_CODEGEN_UNITS }}" >> "$GITHUB_ENV" + - run: just package - if: runner.os == 'Windows' run: Get-ChildItem packages/