Explicitly mark which targets to distribute cg_clif for in CI

This avoids needlessly building cg_clif for other targets and makes it
easier for the dist code to determine if it should distribute cg_clif as
component.
This commit is contained in:
bjorn3 2023-10-27 18:56:46 +00:00
parent d89582c8e5
commit aaa4e541ee
4 changed files with 27 additions and 7 deletions

View File

@ -193,8 +193,9 @@ jobs:
os: ubuntu-20.04-8core-32gb os: ubuntu-20.04-8core-32gb
env: {} env: {}
- name: dist-aarch64-linux - name: dist-aarch64-linux
env:
CODEGEN_BACKENDS: "llvm,cranelift"
os: ubuntu-20.04-8core-32gb os: ubuntu-20.04-8core-32gb
env: {}
- name: dist-android - name: dist-android
os: ubuntu-20.04-8core-32gb os: ubuntu-20.04-8core-32gb
env: {} env: {}
@ -244,15 +245,18 @@ jobs:
os: ubuntu-20.04-8core-32gb os: ubuntu-20.04-8core-32gb
env: {} env: {}
- name: dist-x86_64-linux - name: dist-x86_64-linux
env:
CODEGEN_BACKENDS: "llvm,cranelift"
os: ubuntu-20.04-16core-64gb os: ubuntu-20.04-16core-64gb
env: {}
- name: dist-x86_64-linux-alt - name: dist-x86_64-linux-alt
env: env:
IMAGE: dist-x86_64-linux IMAGE: dist-x86_64-linux
CODEGEN_BACKENDS: "llvm,cranelift"
os: ubuntu-20.04-16core-64gb os: ubuntu-20.04-16core-64gb
- name: dist-x86_64-musl - name: dist-x86_64-musl
env:
CODEGEN_BACKENDS: "llvm,cranelift"
os: ubuntu-20.04-8core-32gb os: ubuntu-20.04-8core-32gb
env: {}
- name: dist-x86_64-netbsd - name: dist-x86_64-netbsd
os: ubuntu-20.04-8core-32gb os: ubuntu-20.04-8core-32gb
env: {} env: {}
@ -316,6 +320,7 @@ jobs:
NO_DEBUG_ASSERTIONS: 1 NO_DEBUG_ASSERTIONS: 1
NO_OVERFLOW_CHECKS: 1 NO_OVERFLOW_CHECKS: 1
DIST_REQUIRE_ALL_TOOLS: 1 DIST_REQUIRE_ALL_TOOLS: 1
CODEGEN_BACKENDS: "llvm,cranelift"
os: macos-13 os: macos-13
- name: dist-apple-various - name: dist-apple-various
env: env:
@ -554,8 +559,9 @@ jobs:
matrix: matrix:
include: include:
- name: dist-x86_64-linux - name: dist-x86_64-linux
env:
CODEGEN_BACKENDS: "llvm,cranelift"
os: ubuntu-20.04-16core-64gb os: ubuntu-20.04-16core-64gb
env: {}
timeout-minutes: 600 timeout-minutes: 600
runs-on: "${{ matrix.os }}" runs-on: "${{ matrix.os }}"
steps: steps:

View File

@ -1624,7 +1624,9 @@ fn filter(contents: &str, marker: &str) -> String {
prepare(tool); prepare(tool);
} }
} }
prepare("rustc-codegen-cranelift"); if builder.config.rust_codegen_backends.contains(&INTERNER.intern_str("cranelift")) {
prepare("rustc-codegen-cranelift");
}
// create an 'uninstall' package // create an 'uninstall' package
builder.install(&etc.join("pkg/postinstall"), &pkg.join("uninstall"), 0o755); builder.install(&etc.join("pkg/postinstall"), &pkg.join("uninstall"), 0o755);
pkgbuild("uninstall"); pkgbuild("uninstall");

View File

@ -359,6 +359,8 @@ jobs:
<<: *job-linux-8c <<: *job-linux-8c
- name: dist-aarch64-linux - name: dist-aarch64-linux
env:
CODEGEN_BACKENDS: llvm,cranelift
<<: *job-linux-8c <<: *job-linux-8c
- name: dist-android - name: dist-android
@ -411,14 +413,19 @@ jobs:
- &dist-x86_64-linux - &dist-x86_64-linux
name: dist-x86_64-linux name: dist-x86_64-linux
env:
CODEGEN_BACKENDS: llvm,cranelift
<<: *job-linux-16c <<: *job-linux-16c
- name: dist-x86_64-linux-alt - name: dist-x86_64-linux-alt
env: env:
IMAGE: dist-x86_64-linux IMAGE: dist-x86_64-linux
CODEGEN_BACKENDS: llvm,cranelift
<<: *job-linux-16c <<: *job-linux-16c
- name: dist-x86_64-musl - name: dist-x86_64-musl
env:
CODEGEN_BACKENDS: llvm,cranelift
<<: *job-linux-8c <<: *job-linux-8c
- name: dist-x86_64-netbsd - name: dist-x86_64-netbsd
@ -501,6 +508,7 @@ jobs:
NO_DEBUG_ASSERTIONS: 1 NO_DEBUG_ASSERTIONS: 1
NO_OVERFLOW_CHECKS: 1 NO_OVERFLOW_CHECKS: 1
DIST_REQUIRE_ALL_TOOLS: 1 DIST_REQUIRE_ALL_TOOLS: 1
CODEGEN_BACKENDS: llvm,cranelift
<<: *job-macos-xl <<: *job-macos-xl
- name: dist-apple-various - name: dist-apple-various
@ -697,6 +705,8 @@ jobs:
include: include:
- &dist-x86_64-linux - &dist-x86_64-linux
name: dist-x86_64-linux name: dist-x86_64-linux
env:
CODEGEN_BACKENDS: llvm,cranelift
<<: *job-linux-16c <<: *job-linux-16c
master: master:

View File

@ -84,8 +84,6 @@ if [ "$DIST_SRC" = "" ]; then
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-dist-src" RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --disable-dist-src"
fi fi
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.codegen-backends=llvm,cranelift"
# Always set the release channel for bootstrap; this is normally not important (i.e., only dist # Always set the release channel for bootstrap; this is normally not important (i.e., only dist
# builds would seem to matter) but in practice bootstrap wants to know whether we're targeting # builds would seem to matter) but in practice bootstrap wants to know whether we're targeting
# master, beta, or stable with a build to determine whether to run some checks (notably toolstate). # master, beta, or stable with a build to determine whether to run some checks (notably toolstate).
@ -107,6 +105,7 @@ if [ "$DEPLOY$DEPLOY_ALT" = "1" ]; then
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.verify-llvm-ir" RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.verify-llvm-ir"
fi fi
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.codegen-backends=${CODEGEN_BACKENDS:-llvm}"
else else
# We almost always want debug assertions enabled, but sometimes this takes too # We almost always want debug assertions enabled, but sometimes this takes too
# long for too little benefit, so we just turn them off. # long for too little benefit, so we just turn them off.
@ -127,6 +126,9 @@ else
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.verify-llvm-ir" RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.verify-llvm-ir"
# Test the Cranelift backend in CI. Bootstrap knows which targets to run tests on.
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set rust.codegen-backends=llvm,cranelift"
# We enable this for non-dist builders, since those aren't trying to produce # We enable this for non-dist builders, since those aren't trying to produce
# fresh binaries. We currently don't entirely support distributing a fresh # fresh binaries. We currently don't entirely support distributing a fresh
# copy of the compiler (including llvm tools, etc.) if we haven't actually # copy of the compiler (including llvm tools, etc.) if we haven't actually