Mirror kernel archives in ci-mirrors to not depend on currently unavailable kernel mirror sources#158774
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment has been minimized.
This comment has been minimized.
[DO NOT MERGE] CI shenanigans try-job: armhf-gnu try-job: dist-armhf-linux
This comment has been minimized.
This comment has been minimized.
231431d to
20ccfbb
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment has been minimized.
This comment has been minimized.
[DO NOT MERGE] CI shenanigans try-job: armhf-gnu try-job: dist-armhf-linux try-job: dist-arm-linux-gnueabi try-job: dist-powerpc64le-linux-musl try-job: dist-loongarch64-musl try-job: dist-riscv64-linux try-job: dist-powerpc64le-linux-gnu try-job: dist-mips64-linux try-job: dist-powerpc64-linux-musl try-job: dist-armv7-linux try-job: dist-powerpc-linux try-job: dist-loongarch64-linux try-job: dist-s390x-linux try-job: dist-i586-gnu-i586-i686-musl try-job: dist-powerpc64-linux-gnu try-job: dist-mips-linux try-job: dist-mipsel-linux try-job: dist-mips64el-linux
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
20ccfbb to
e4dba48
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment has been minimized.
This comment has been minimized.
[DO NOT MERGE] CI shenanigans try-job: armhf-gnu try-job: dist-*
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment has been minimized.
This comment has been minimized.
[DO NOT MERGE] CI shenanigans try-job: armhf-gnu try-job: dist-armhf-linux try-job: dist-arm-linux-gnueabi try-job: dist-powerpc64le-linux-musl try-job: dist-loongarch64-musl try-job: dist-riscv64-linux try-job: dist-powerpc64le-linux-gnu try-job: dist-mips64-linux try-job: dist-powerpc64-linux-musl try-job: dist-armv7-linux try-job: dist-powerpc-linux try-job: dist-loongarch64-linux try-job: dist-s390x-linux try-job: dist-i586-gnu-i586-i686-musl try-job: dist-powerpc64-linux-gnu try-job: dist-mips-linux try-job: dist-mipsel-linux try-job: dist-mips64el-linux
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
ci-mirrors to not depend on currently unavailable kernel mirror sourcesci-mirrors to not depend on currently unavailable kernel mirror sources
This comment has been minimized.
This comment has been minimized.
Mirror kernel archives in `ci-mirrors` to not depend on currently unavailable kernel mirror sources ## Summary (Tempoarily) closes #158718. See [#t-infra > kernel.org is borked](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/kernel.2Eorg.20is.20borked/with/608182062). Currently rust-lang/rust CI is borked because: 1. `armhf-gnu` directly tries to download kernel v4.x artifacts from kernel.org mirror, and 2. certain `dist-*` jobs tries to download kernel v3.x and v4.x artifacts from kernel.org mirror indirectly via crosstools-ng ("CT-NG") [^1]. [^1]: Add v5.x but those are already recovered. However, kernel.org mirror sync infra has an active incident (ref: https://status.linuxfoundation.org/incidents/3y1k8b4ky71t) where not all files are available. In particular, v3.x and v4.x kernel artifacts are not recovered yet as of time of writing (check <https://mirrors.edge.kernel.org/pub/linux/kernel/>). ### Mitigation This PR tries to mitigate this by using our own mirrored kernel artifacts from `ci-mirrors` (see rust-lang/ci-mirrors#41, rust-lang/ci-mirrors#42, rust-lang/ci-mirrors#43), such that `linux-$A.$B.$C.tar.gz` artifacts become available as search locations to CT-NG. We carry a patch to CT-NG to use our own `ci-mirrors` artifact SHA256 checksums, the checksum mismatches are as far as we know due to compression setting differences (`ci-mirrors` source archives from <https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/snapshot/>). ## Notes - `armhf-gnu` still has artifacts from third-party mirrors/sources (busybox, ubuntu-base-22.04.2). Not in scope of this PR. - It looks like `3.*` kernel series are considered obselete by CT-NG, and need `CT_OBSOLETE=y` config. - CT-NG checks for known-good kernel versions and checksums against the provided mirror. ### CT-NG known good versions Re. latest kernel versions in each release versus what CT-NG 1.28.0 considers a known good version w/ checksum: Kernel LTS release series | Last release in the series | CT-NG 1.28.0 known good kernel version w/ checksum -- | -- | -- 3.2.* | 3.2.102 | **3.2.101** 3.10.* | 3.10.108 | 3.10.108 4.4.* | 4.4.302 | 4.4.302 4.19.* | 4.19.325 | 4.19.325 4.20.* | 4.20.17 | 4.20.17 5.19.* | 5.19.17 | **5.19.16** (**Bold** CT-NG known good version indicates not latest in release series.) ### `ci-mirrors` kernal tarball SHA256 checksums Refer to https://github.com/rust-lang/ci-mirrors/blob/b474b4bb35108dab668907172c858854f209c809/files/rustc/kernel.toml: | **Kernel Version** | **SHA256** | | ------------------ | ------------------------------------------------------------------ | | 3.2.101 | `93e8391e029f131d5ba4b7ad76cc34b12f2c2244059604042f2297c4bde093f7` | | 3.10.108 | `b1711610cf3faf7194156dacdb98c63c1b7ffd02377269d7f75df63d823ccbba` | | 4.4.302 | `a22ceab143d40f511203265e5a70d6cc5ec39163cd54fa281346d19176f64451` | | 4.19.325 | `8753443636e475b506e08abd40059ec9b84904a115d206014f0c856dfe13a25e` | | 4.20.17 | `313b7bebb46084efbfcaf75f4ea6faf2e14c8cbc1711fcba483dc0a036c9acc1` | | 5.19.16 | `bbf0ead65559250e0784c13d4f9716b7f917a1d3a4e00f671f3994cc6990bb02` | --- try-job: armhf-gnu try-job: dist-armhf-linux try-job: dist-arm-linux-gnueabi try-job: dist-powerpc64le-linux-musl try-job: dist-loongarch64-musl try-job: dist-riscv64-linux try-job: dist-powerpc64le-linux-gnu try-job: dist-powerpc64-linux-musl try-job: dist-armv7-linux try-job: dist-powerpc-linux try-job: dist-loongarch64-linux try-job: dist-s390x-linux try-job: dist-i586-gnu-i586-i686-musl try-job: dist-powerpc64-linux-gnu
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
💔 Test for c8dc98e failed: CI. Failed job:
|
|
AFAIK unrelated, but pls open issue about it (can't do it rn) |
This comment has been minimized.
This comment has been minimized.
|
This seems likely to succeed. Let's let the cargo submodule update run if it does. If this fails, limit the possibility of repeated failures by ensuring it's only a single PR. @bors treeclosed=21 |
|
Tree closed for PRs with priority less than 21. |
|
@bors treeclosed=5 |
|
Tree closed for PRs with priority less than 5. |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing c397dae (parent) -> 96eb6d7 (this PR) Test differencesShow 4 test diffs4 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 96eb6d756bb98a82ae056c384575ff059bf80e8f --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
|
Finished benchmarking commit (96eb6d7): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesResults (secondary -2.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 485.944s -> 485.519s (-0.09%) |
View all comments
Summary
(Tempoarily) closes #158718.
See #t-infra > kernel.org is borked.
Currently rust-lang/rust CI is borked because:
armhf-gnudirectly tries to download kernel v4.x artifacts from kernel.org mirror, anddist-*jobs tries to download kernel v3.x and v4.x artifacts from kernel.org mirror indirectly via crosstools-ng ("CT-NG") 1.However, kernel.org mirror sync infra has an active incident (ref: https://status.linuxfoundation.org/incidents/3y1k8b4ky71t) where not all files are available. In particular, v3.x and v4.x kernel artifacts are not recovered yet as of time of writing (check https://mirrors.edge.kernel.org/pub/linux/kernel/).
Mitigation
This PR tries to mitigate this by using our own mirrored kernel artifacts from
ci-mirrors(see rust-lang/ci-mirrors#41, rust-lang/ci-mirrors#42, rust-lang/ci-mirrors#43), such thatlinux-$A.$B.$C.tar.gzartifacts become available as search locations to CT-NG.We carry a patch to CT-NG to use our own
ci-mirrorsartifact SHA256 checksums, the checksum mismatches are as far as we know due to compression setting differences (ci-mirrorssource archives from https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/snapshot/).Notes
armhf-gnustill has artifacts from third-party mirrors/sources (busybox, ubuntu-base-22.04.2). Not in scope of this PR.3.*kernel series are considered obselete by CT-NG, and needCT_OBSOLETE=yconfig.CT-NG known good versions
Re. latest kernel versions in each release versus what CT-NG 1.28.0 considers a known good version w/ checksum:
(Bold CT-NG known good version indicates not latest in release series.)
ci-mirrorskernal tarball SHA256 checksumsRefer to https://github.com/rust-lang/ci-mirrors/blob/b474b4bb35108dab668907172c858854f209c809/files/rustc/kernel.toml:
93e8391e029f131d5ba4b7ad76cc34b12f2c2244059604042f2297c4bde093f7b1711610cf3faf7194156dacdb98c63c1b7ffd02377269d7f75df63d823ccbbaa22ceab143d40f511203265e5a70d6cc5ec39163cd54fa281346d19176f644518753443636e475b506e08abd40059ec9b84904a115d206014f0c856dfe13a25e313b7bebb46084efbfcaf75f4ea6faf2e14c8cbc1711fcba483dc0a036c9acc1bbf0ead65559250e0784c13d4f9716b7f917a1d3a4e00f671f3994cc6990bb02try-job: armhf-gnu
try-job: dist-armhf-linux
try-job: dist-arm-linux-gnueabi
try-job: dist-powerpc64le-linux-musl
try-job: dist-loongarch64-musl
try-job: dist-riscv64-linux
try-job: dist-powerpc64le-linux-gnu
try-job: dist-powerpc64-linux-musl
try-job: dist-armv7-linux
try-job: dist-powerpc-linux
try-job: dist-loongarch64-linux
try-job: dist-s390x-linux
try-job: dist-i586-gnu-i586-i686-musl
try-job: dist-powerpc64-linux-gnu
Footnotes
Add v5.x but those are already recovered. ↩