blob: 3e5d55fbc81a952c5e9cfb167b1ef9a2d51325d0 [file] [view] [edit]
# Autodiff CI job
The [`optional-x86_64-gnu-autodiff`] job provides continuous test coverage for
the experimental `autodiff` feature and its integration with LLVM Enzyme. It is
an optional [auto job](./ci.md#auto-builds), so a failure does not prevent a
pull request from being merged.
For more context about the feature, see the [autodiff tracking issue] and the
[autodiff internals](../autodiff/internals.md) chapter.
## What is tested
The job checks:
- forward- and reverse-mode macro expansion and diagnostics;
- LLVM IR generation for autodiff;
- enforcement of the `autodiff` feature gate.
## Running the job
To run the job in a try build, comment on a pull request:
```text
@bors try jobs=optional-x86_64-gnu-autodiff
```
To run the job locally, run this command from a Rust checkout:
```console
$ cargo run --manifest-path src/ci/citool/Cargo.toml run-local optional-x86_64-gnu-autodiff
```
See [Testing with Docker](./docker.md) for more information about running CI
jobs locally.
## Point of contact
If you have questions or need help with a failure in this job, open a new topic
in the [autodiff Zulip channel]. For suspected Enzyme backend failures, see the
[autodiff debugging guide].
[autodiff Zulip channel]: https://rust-lang.zulipchat.com/#narrow/channel/390790-wg-autodiff
[autodiff debugging guide]: ../autodiff/debugging.md
[autodiff tracking issue]: https://github.com/rust-lang/rust/issues/124509
[`optional-x86_64-gnu-autodiff`]: https://github.com/rust-lang/rust/blob/HEAD/src/ci/github-actions/jobs.yml