-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: Add support for dist-loongarch64-linux #110519
Conversation
(rustbot has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
@bors try |
@heiher: 🔑 Insufficient privileges: not in try users |
@Mark-Simulacrum Ready for review, ci test result: https://github.com/loongarch-rs/rust/actions/runs/4804319116 |
Note that My crosstool refactoring in #110865 was just approved, so it would be great if you followed suit here. I see that you're using a git snapshot for loongarch support, but apart from that you should be able to work like the others. |
Hello @cuviper, Thanks for your comments.
You're right, I did make a temporary change to the CI configuration for that job.
Great job! Thank you for pushing the update for crosstool-ng. However, support for LoongArch is expected to be available only in the next release version ( I am grateful for your insightful comments and suggestions. ❤️ |
@heiher Yes, it's fine that you need to use a pre-release version of crosstool-ng. I meant that you should try to follow the rest of the refactoring that I implemented: committing a |
☔ The latest upstream changes (presumably #110865) made this pull request unmergeable. Please resolve the merge conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is much easier to review now, thanks for the rebasing! Only one question from me below.
- Operating System > Linux kernel version = 5.19.16 | ||
- Binary utilities > Version of binutils = 2.40 | ||
- C-library > glibc version = 2.36 | ||
- C compiler > gcc version = 12.2.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we able to raise this to GCC 13.1.0 now that it's released?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Certainly, although GCC 13 has been released, the upgrade for crosstool-ng is still in progress. We would like to catch up with the Rust 1.71 release, and since LoongArch CI is not dependent on GCC 13, I propose that we upgrade after crosstool-ng is ready, possibly through a new PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If crosstool-ng is ready earlier than expected, I would be happy to include it in this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yes. I forgot we privately talked about this a while ago.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm going to leave the formal review to Mark. I'm not sure if the target should be built in CI at all until it has approval per the target tier policy.
CT_DEBUG_GDB=y | ||
CT_GDB_V_12=y | ||
# CT_GDB_CROSS_PYTHON is not set | ||
# CT_GDB_GDBSERVER is not set |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need GDB, so all 4 of these can be removed.
# CT_GDB_CROSS_PYTHON is not set | ||
# CT_GDB_GDBSERVER is not set | ||
CT_ISL_V_0_24=y | ||
CT_ZSTD_V_1_5_2=y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On all other targets, I left out versions for things like ISL and ZSTD so they could just use their defaults. Are there particular needs here?
CT_CONFIG_VERSION="4" | ||
CT_EXPERIMENTAL=y | ||
CT_PREFIX_DIR="/x-tools/${CT_TARGET}" | ||
CT_LOG_ALL=y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't really need logging, but I guess it doesn't hurt either way.
Please do add the mirror config like the other targets though:
CT_USE_MIRROR=y
CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
(We don't have everything mirrored, but AIUI this will let our mirror take precedence when we do add things.)
Thanks for your feedback. We are moving forward, and there is a resolved MCP that for LoongArch to Tier2: rust-lang/compiler-team#518 |
@rustbot author cargo build breaks by libc constants are missing. |
Can you temporarily enable the builder here for try builds or in PR CI? That will let us test how long this takes (after Docker is cached) and make a decision in T-infra on whether we currently have capacity to add the builder. |
#!/bin/sh | ||
set -ex | ||
|
||
git clone --depth=1 https://github.com/crosstool-ng/crosstool-ng |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be pinned to a fixed commit, to make sure we don't pick up a broken commit.
@Mark-Simulacrum Certainly, Thank you. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Infra discussed and agreed to move forward with adding the builder. @bors r+ |
⌛ Testing commit 5f173e9 with merge 4f80088941583158b9f62e8d6a60b94a087329d9... |
💥 Test timed out |
The dist-x86_64-apple build seems to be flaking out. |
@bors retry This PR doesn't seem bad, retry again. |
@heiher: 🔑 Insufficient privileges: not in try users |
@bors retry |
@@ -22,6 +22,7 @@ apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install | |||
patch \ | |||
pkg-config \ | |||
python3 \ | |||
rsync \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rsync
used somewhere? Can't see any matches here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is used by crosstool-ng
git version.
☀️ Test successful - checks-actions |
Finished benchmarking commit (cda5bec): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 644.363s -> 644.28s (-0.01%) |
ci: Upgrade loongarch64-linux-gnu GCC to 13.1.0 This PR upgrades GCC to 13.1.0 for the `loongarch64-unknown-linux-gnu` target. This upgrade was suggested in a previous review discussion: rust-lang#110519 (comment)
We are preparing to promote loongarch64-unknown-linux-gnu to Tier 2, and one of the tasks is to add CI support. We are currently in the process of upgrading the dependencies for the build tools, and before this is completed, we would like to request comments. Thanks
Progress
Tier 2 with host tools MCP: rust-lang/compiler-team#518