Skip to content

Commit 53a9d5b

Browse files
committed
Fix BinaryBuilder CI test drift
Azure was offline long enough for rootfs and toolchain behavior to drift. Refresh the gfortran artifact hashes, accept unordered gcc-version warning logs, and patch the rootfs testsuite Cargo metadata before make so the shard sanity tests pass with current Cargo. Keep Azure on the rootfs-provided Julia 1.7 path and install Coverage in a temporary environment. That avoids the wrapper/bootstrap churn and reduces CI disk pressure.
1 parent 1395f3d commit 53a9d5b

3 files changed

Lines changed: 30 additions & 18 deletions

File tree

azure-pipelines.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
set -e
4444
$(JULIA) -e 'using Pkg; Pkg.Registry.update(); Pkg.instantiate()'
4545
$(JULIA) -e 'using BinaryBuilder; BinaryBuilder.versioninfo()'
46-
$(JULIA) -e 'using Pkg; Pkg.status(; mode=PKGMODE_MANIFEST)'
46+
$(JULIA) -e 'using Pkg; Pkg.status(; mode=Pkg.PKGMODE_MANIFEST)'
4747
name: SystemInfo
4848
4949
- job: Test
@@ -67,7 +67,7 @@ jobs:
6767
set -e
6868
$(JULIA) -e 'using Pkg; Pkg.gc()'
6969
$(JULIA) --check-bounds=yes --inline=yes -e 'using Pkg; Pkg.Registry.update(); Pkg.instantiate(); Pkg.test(coverage=true)'
70-
$(JULIA) -e 'using Pkg; Pkg.add("Coverage"); using Coverage; Codecov.submit(process_folder())' || true
70+
$(JULIA) -e 'using Pkg; Pkg.activate(; temp=true); Pkg.add("Coverage"); using Coverage; cd(ARGS[1]) do; Codecov.submit(process_folder()); end' $(Build.SourcesDirectory) || true
7171
name: Test
7272
7373
- bash: |

test/auditing.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ end
595595
# audit should warn us.
596596
libgfortran_versions = (3, 4, 5)
597597
other_libgfortran_version = libgfortran_versions[findfirst(v -> v != our_libgfortran_version.major, libgfortran_versions)]
598-
@test_logs (:warn, Regex("but we are supposedly building for libgfortran$(other_libgfortran_version)")) (:warn, r"Linked library libgfortran\.so\.(4|5)") (:warn, r"Linked library libquadmath\.so\.0") (:warn, r"Linked library libgcc_s\.so\.1") readmeta(hello_world_path) do ohs
598+
@test_logs (:warn, Regex("but we are supposedly building for libgfortran$(other_libgfortran_version)")) (:warn, r"Linked library libgfortran\.so\.(4|5)") (:warn, r"Linked library libquadmath\.so\.0") (:warn, r"Linked library libgcc_s\.so\.1") match_mode=:any readmeta(hello_world_path) do ohs
599599
foreach(ohs) do oh
600600
p = deepcopy(platform)
601601
p["libgfortran_version"] = "$(other_libgfortran_version).0.0"

test/building.jl

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,18 @@ shards_to_test = expand_cxxstring_abis(expand_gfortran_versions(shards_to_test))
185185
FLAGS=(CFLDFLAGS="-lgfortran -lm")
186186
fi
187187
188+
# Keep Cargo's build dir out of the read-only testsuite source tree.
189+
export CARGO_TARGET_DIR="${WORKSPACE}/cargo-target"
190+
mkdir -p "${CARGO_TARGET_DIR}"
191+
192+
# Newer Cargo requires package.version for `cargo install`.
193+
for cargo_toml in /usr/share/testsuite/rust/*/Cargo.toml; do
194+
[[ -f "${cargo_toml}" ]] || continue
195+
if ! grep -q '^version[[:space:]]*=' "${cargo_toml}"; then
196+
sed -i '/^\[package\]/a version = "1.0.0"' "${cargo_toml}"
197+
fi
198+
done
199+
188200
# Build testsuite
189201
make -j${nproc} -sC /usr/share/testsuite install "${FLAGS[@]}"
190202
# Install fake license just to silence the warning
@@ -257,27 +269,27 @@ end
257269
]
258270
expected_git_shas = Dict(
259271
v"4" => Dict(
260-
x86_64_linux => Base.SHA1("cc2ad05285813f6b70bac6241a8fc869c5d331ee"),
261-
ppc64le_linux => Base.SHA1("d53d766c5a098420dbdc8fa7b79e343860096ac4"),
262-
armv7l_linux => Base.SHA1("673b4a548ef7dbc07a9230e094b199c48018bc6e"),
263-
aarch64_linux => Base.SHA1("8938e2f1f3c25ebfa4fb1f5fceb2dacc241c95c4"),
264-
x86_64_macos => Base.SHA1("b0f9ef3b42b30f9085d4f9d60c3ea441554c442f"),
272+
x86_64_linux => Base.SHA1("8478dcd50e8e87ded1593926b3e8838d914379d1"),
273+
ppc64le_linux => Base.SHA1("e43be740df0a56728ef797ecd9f3bec7ea1c1ff2"),
274+
armv7l_linux => Base.SHA1("2708827f55563d6a8c2e29057abe8624e6d98a36"),
275+
aarch64_linux => Base.SHA1("27118d1007a6778a21a24573eabc8e8501b933dd"),
276+
x86_64_macos => Base.SHA1("a2a55420d0f1f5905370198aa51db53abb1c6743"),
265277
i686_windows => Base.SHA1("f39858ccc34a63a648cf21d33ae236bfdd706d09"),
266278
),
267279
v"5" => Dict(
268-
x86_64_linux => Base.SHA1("a92857b327fcaddfe0e31081ac8cd96e3e0ec2ea"),
269-
ppc64le_linux => Base.SHA1("e47c4e8ba3cd44a13b2e0eeb49f28fe0f958e25b"),
270-
armv7l_linux => Base.SHA1("6e5a108b68b2f12dae88a21b756e15c61eaefd6b"),
271-
aarch64_linux => Base.SHA1("b1afb1cbfa5a919528c869cedf96a8fe70687a27"),
272-
x86_64_macos => Base.SHA1("9ddfd323ed25fc02394067c6e863f1cf826a9e5e"),
280+
x86_64_linux => Base.SHA1("2cf77e334ecfb404ea619b59b071cb070f942f0e"),
281+
ppc64le_linux => Base.SHA1("9346b5cff819efe3f12eaaef5fdde0d3bdc0eedc"),
282+
armv7l_linux => Base.SHA1("2f7f39106e1b38650e56b42f496727a3b1d46559"),
283+
aarch64_linux => Base.SHA1("f615819e5490ef0eaede1385b183e665b652d3c1"),
284+
x86_64_macos => Base.SHA1("43fef13003977a47f29cd2bf6e49f0584e53dd4c"),
273285
i686_windows => Base.SHA1("9390a3c24a8e274e6d7245c6c977f97b406bc3f5"),
274286
),
275287
v"6" => Dict(
276-
x86_64_linux => Base.SHA1("8e18b9a6fd6bebcbf350f4605f59da588c3f91d8"),
277-
ppc64le_linux => Base.SHA1("5595cc99163816896ba3982e458a92086dea590d"),
278-
armv7l_linux => Base.SHA1("f485bbe50a8fc242a40c2a67ca6f23225f5cfcd7"),
279-
aarch64_linux => Base.SHA1("839b5fb66e49f38700c8f6cacadd3cc11785c3bb"),
280-
x86_64_macos => Base.SHA1("b211e8c87b83e820416757d6d2985bcd19db7f24"),
288+
x86_64_linux => Base.SHA1("bd063fc4a57525522f54462cb1babcfb6693f1e4"),
289+
ppc64le_linux => Base.SHA1("bb6ff7eeb4004852224454a66a4e535f7565b754"),
290+
armv7l_linux => Base.SHA1("a4b5121aa50860035aa600b4cd531841cf52f2e7"),
291+
aarch64_linux => Base.SHA1("e461da5c1b23615f774b65d220d450c7fafca803"),
292+
x86_64_macos => Base.SHA1("4ec1fb6c2f0cd1e5fd9c9190a802b28c2d39827c"),
281293
i686_windows => Base.SHA1("ae50af4ca8651cb3c8f71f34d0b66ca0d8f14a99"),
282294
),
283295
)

0 commit comments

Comments
 (0)