Skip to content

Commit 1db367e

Browse files
committed
full_ci: Test with various _TIME_BITS settings where relevant
In Linux Tier1, run the tests for i686-unknown-linux-gnu with RUST_LIBC_TIME_BITS set to 32, 64, and default. In Linux Tier2, run the tests for arm-unknown-linux-gnueabihf and powerpc-unknown-linux-gnu with RUST_LIBC_TIME_BITS set to 32, 64, and default. Use RUST_LIBC_TIME_BITS=defaults for the other platforms. In Build Channels Linux, build the relevant platforms with RUST_LIBC_TIME_BITS unset and set to 32 and 64.
1 parent d9a25a7 commit 1db367e

File tree

3 files changed

+46
-2
lines changed

3 files changed

+46
-2
lines changed

.github/workflows/full_ci.yml

+22-2
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,22 @@ jobs:
1919
i686-unknown-linux-gnu,
2020
x86_64-unknown-linux-gnu,
2121
]
22+
bits: [
23+
default,
24+
32,
25+
64
26+
]
27+
exclude:
28+
- target: x86_64-unknown-linux-gnu
29+
bits: 32
30+
- target: x86_64-unknown-linux-gnu
31+
bits: 64
2232
steps:
2333
- uses: actions/checkout@v4
2434
- name: Setup Rust toolchain
2535
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
2636
- name: Execute run-docker.sh
27-
run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
37+
run: LIBC_CI=1 RUST_LIBC_TIME_BITS=${{ matrix.bits }} sh ./ci/run-docker.sh ${{ matrix.target }}
2838

2939
macos:
3040
permissions:
@@ -133,12 +143,22 @@ jobs:
133143
# aren't defined on redox actually.
134144
# x86_64-unknown-redox,
135145
]
146+
include:
147+
- bits: default
148+
- bits: 32
149+
target: arm-unknown-linux-gnueabihf
150+
- bits: 64
151+
target: arm-unknown-linux-gnueabihf
152+
- bits: 32
153+
target: powerpc-unknown-linux-gnu
154+
- bits: 64
155+
target: powerpc-unknown-linux-gnu
136156
steps:
137157
- uses: actions/checkout@v4
138158
- name: Setup Rust toolchain
139159
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
140160
- name: Execute run-docker.sh
141-
run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
161+
run: LIBC_CI=1 RUST_LIBC_TIME_BITS=${{ matrix.bits }} sh ./ci/run-docker.sh ${{ matrix.target }}
142162

143163
build_channels_linux:
144164
permissions:

ci/build.sh

+23
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,29 @@ test_target() {
2323
TARGET="${2}"
2424
NO_STD="${3}"
2525

26+
if [ "$RUST_LIBC_TIME_BITS" = "" ]; then
27+
while true; do
28+
case "$TARGET" in
29+
arm-unknown-linux-gnueabi);;
30+
arm-unknown-linux-gnueabihf);;
31+
armv7-unknown-linux-gnueabihf);;
32+
i586-unknown-linux-gnu);;
33+
i686-unknown-linux-gnu);;
34+
powerpc-unknown-linux-gnu);;
35+
armv5te-unknown-linux-gnueabi);;
36+
mips-unknown-linux-gnu);;
37+
mipsel-unknown-linux-gnu);;
38+
powerpc-unknown-linux-gnuspe);;
39+
riscv32gc-unknown-linux-gnu);;
40+
sparc-unknown-linux-gnu);;
41+
*) break;
42+
esac
43+
RUST_LIBC_TIME_BITS=32 test_target "$BUILD_CMD" "$TARGET" "$NO_STD"
44+
RUST_LIBC_TIME_BITS=64 test_target "$BUILD_CMD" "$TARGET" "$NO_STD"
45+
break # also build without RUST_LIBC_TIME_BITS set
46+
done
47+
fi
48+
2649
# If there is a std component, fetch it:
2750
if [ "${NO_STD}" != "1" ]; then
2851
# FIXME: rustup often fails to download some artifacts due to network

ci/run-docker.sh

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ run() {
4343
--env LIBC_CI_ZBUILD_STD \
4444
--env CARGO_HOME=/cargo \
4545
--env CARGO_TARGET_DIR=/checkout/target \
46+
--env RUST_LIBC_TIME_BITS \
4647
--volume "$CARGO_HOME":/cargo \
4748
--volume "$(rustc --print sysroot)":/rust:ro \
4849
--volume "$(pwd)":/checkout:ro \

0 commit comments

Comments
 (0)