Skip to content

ci: Enable autodiff tests on x86_64 linux#157776

Open
sgasho wants to merge 2 commits into
rust-lang:mainfrom
sgasho:linux_autodiff_tests_ci
Open

ci: Enable autodiff tests on x86_64 linux#157776
sgasho wants to merge 2 commits into
rust-lang:mainfrom
sgasho:linux_autodiff_tests_ci

Conversation

@sgasho

@sgasho sgasho commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

View all comments

Enable autodiff tests on x86_64 linux

hmm.....pr job x stage 1 takes 100 - 110min, which is the slowest in the pr jobs.
If we are not happy to wait more than 100min for the pr jobs, maybe we should move this to auto jobs and test them on stage 2

r? @ZuseZ4

@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Jun 11, 2026
@rust-log-analyzer

This comment has been minimized.

@sgasho

This comment was marked as outdated.

@sgasho sgasho force-pushed the linux_autodiff_tests_ci branch from a5999ca to 7da709a Compare June 12, 2026 12:41
@sgasho

This comment was marked as outdated.

@rust-log-analyzer

This comment has been minimized.

@sgasho

sgasho commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

I executed git pull --rebase origin main to see if build steps in autodiff job finish successfully after enzyme submodule update

No problem found

@sgasho sgasho force-pushed the linux_autodiff_tests_ci branch from 851ebe4 to 33566ea Compare June 30, 2026 14:07
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@sgasho sgasho force-pushed the linux_autodiff_tests_ci branch 2 times, most recently from 27ed09b to 57ed38d Compare July 6, 2026 00:42
@rust-log-analyzer

This comment has been minimized.

@sgasho sgasho force-pushed the linux_autodiff_tests_ci branch from 57ed38d to 69603c6 Compare July 6, 2026 12:46
@sgasho sgasho marked this pull request as ready for review July 6, 2026 15:07
@rustbot

rustbot commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Warning

If you are changing how CI LLVM is built or linked, make sure to bump
src/bootstrap/download-ci-llvm-stamp.

cc @jieyouxu

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jul 6, 2026
@ZuseZ4

ZuseZ4 commented Jul 6, 2026

Copy link
Copy Markdown
Member

@bors try jobs=x86_64-gnu-autodiff

Rerunning to test potential cache effects.
Once this is done, we should ping Jakub and jieyouxu to discuss where to put it (and probably create an infra thread to discuss). I also don't think they'll accept autodiff as a culprit of measurably longer PR CI, so we'll probably need to move it, if the cache isn't helping enough.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 6, 2026
ci: Enable autodiff tests on x86_64 linux


try-job: x86_64-gnu-autodiff
@rust-bors

rust-bors Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: d1a9718 (d1a971826b83fead3b7550c5e4440c9102bb3290)
Base parent: 3c00c96 (3c00c96d3af4d5b5e101e56cc161a608b21366ee)

@ZuseZ4

ZuseZ4 commented Jul 6, 2026

Copy link
Copy Markdown
Member

Rebuilding a second time, since I'm not sure if artifacts are shared between PR Ci and try runs.
@bors try jobs=x86_64-gnu-autodiff

But so far, even just building LLVM+rustc+std+enzyme takes 95 minutes, 10 minutes more than miri, the next slowest job. Total time will always be a bit more than that, and autodiff will always have less users than something general like Miri, so that's hard to defend.

If the try results come back unchanged, can you move it to auto and mark it as allowed to fail? I don't think it needs to be blocking yet.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 6, 2026
ci: Enable autodiff tests on x86_64 linux


try-job: x86_64-gnu-autodiff
@rust-bors

rust-bors Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 96310de (96310dea88820c3264b54ee2b5011698005372aa)
Base parent: 36714a9 (36714a9983d6ba11203d8bb87a1b372247fbcf06)

@rust-bors

rust-bors Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 54d3e38 (54d3e384f63af5d12a1b8677d914c8ed9ced0844)
Base parent: f10db29 (f10db292a3733b5c67c8da8c7661195ff4b05774)

@sgasho sgasho force-pushed the linux_autodiff_tests_ci branch from 755769f to c1b7502 Compare July 10, 2026 03:30
@sgasho

sgasho commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

Just moved the job to the right place. No other changes.
I think this is ready to land, since the last try run passed.

@sgasho

sgasho commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

@bors try jobs=x86_64-gnu-autodiff

Rerunning to test potential cache effects. Once this is done, we should ping Jakub and jieyouxu to discuss where to put it (and probably create an infra thread to discuss). I also don't think they'll accept autodiff as a culprit of measurably longer PR CI, so we'll probably need to move it, if the cache isn't helping enough.

@Kobzol @jieyouxu cc: @ZuseZ4

Can we say this PR is ready to land - adds optional autodiff tests in x86 linux?
Looking at the last try run (https://github.com/rust-lang/rust/actions/runs/28874206231/job/85644955058), at least job time is acceptable?
I'll create an infra thread on Zulip if we need to.

@jieyouxu jieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks fine as an optional-* job and CI time from last round is like 1h, seems fine.

I'll let Jakub take a look in case I'm missing any context, otherwise r=me.

View changes since this review

Comment thread src/ci/docker/scripts/autodiff.sh Outdated
@jieyouxu

Copy link
Copy Markdown
Member

@bors squash

@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

🔨 3 commits were squashed into 630cb89.

@rust-bors rust-bors Bot force-pushed the linux_autodiff_tests_ci branch from 4becb31 to 630cb89 Compare July 10, 2026 11:01
@jieyouxu

Copy link
Copy Markdown
Member

Actually I'll just r+ this, this is optional job anyway.
@bors r+ rollup

@rust-bors

rust-bors Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 630cb89 has been approved by jieyouxu

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 10, 2026
@Kobzol

Kobzol commented Jul 10, 2026

Copy link
Copy Markdown
Member

Does it break often? I wonder if we should just enable it by default, because the optional jobs kinda suck now, we don't get any notification if they fail, outside of some unrelated CI postprocessing jobs sometimes failing. Probably that would require an MCP.

But starting with an optional job is fine by me. It would be nice to document it in rustc-dev-guid and add the doc-url to the job though.

@jieyouxu

Copy link
Copy Markdown
Member

Ah d'oh I knew I forgot sth...
@bors r- (since not in a rollup yet)

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jul 10, 2026
@rust-bors

rust-bors Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved.

View changes since this unapproval

@sgasho

sgasho commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

Indeed, I don't think autodiff tests will break too often since #156777 landed.
Let me just check the autodiff job still works fine after pulling the current main. If it works fine, I think we can merge it without optional- unless I'm missing something. llvm submodule update happened last week so maybe good chance to test the robustness

cc: @ZuseZ4

* Enable autodiff tests on x86_64 linux
* move autodiff job def
* remove redundant ./x build
@sgasho sgasho force-pushed the linux_autodiff_tests_ci branch from 630cb89 to e29d5a4 Compare July 10, 2026 11:26
@rustbot

rustbot commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@sgasho sgasho force-pushed the linux_autodiff_tests_ci branch from 5e3fb29 to 928c0cf Compare July 10, 2026 11:28
@sgasho

sgasho commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

@bors try jobs=x86_64-gnu-autodiff

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 10, 2026
ci: Enable autodiff tests on x86_64 linux


try-job: x86_64-gnu-autodiff
@rust-bors

rust-bors Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 7215d1b (7215d1be8eb0e150e6d50a7fe36403cec80dbf4f)
Base parent: cb014fc (cb014fcb149e44d8aa16a8f66c9f2b1762f034f8)

@sgasho

sgasho commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

@ZuseZ4
Would you be comfortable making this job required from the start by removing continue_on_error: true?
I reran autodiff tests with the latest main branch and they succeeded. That means llvm ir checks updates in #156777, which I created 3 weeks ago, are still fine against the latest main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants