Auto merge of #135286 - matthiaskrgr:rollup-sxuq1nh, r=matthiaskrgr
Rollup of 3 pull requests Successful merges: - #134898 (Make it easier to run CI jobs locally) - #135195 (Make `lit_to_mir_constant` and `lit_to_const` infallible) - #135261 (Account for identity substituted items in symbol mangling) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
019834560d
|
|
@ -126,4 +126,4 @@ Here is an example of how can `opt-dist` be used locally (outside of CI):
|
||||||
[`Environment`]: https://github.com/rust-lang/rust/blob/ee451f8faccf3050c76cdcd82543c917b40c7962/src/tools/opt-dist/src/environment.rs#L5
|
[`Environment`]: https://github.com/rust-lang/rust/blob/ee451f8faccf3050c76cdcd82543c917b40c7962/src/tools/opt-dist/src/environment.rs#L5
|
||||||
|
|
||||||
> Note: if you want to run the actual CI pipeline, instead of running `opt-dist` locally,
|
> Note: if you want to run the actual CI pipeline, instead of running `opt-dist` locally,
|
||||||
> you can execute `DEPLOY=1 src/ci/docker/run.sh dist-x86_64-linux`.
|
> you can execute `python3 src/ci/github-actions/ci.py run-local dist-x86_64-linux`.
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ Our CI is primarily executed on [GitHub Actions], with a single workflow defined
|
||||||
in [`.github/workflows/ci.yml`], which contains a bunch of steps that are
|
in [`.github/workflows/ci.yml`], which contains a bunch of steps that are
|
||||||
unified for all CI jobs that we execute. When a commit is pushed to a
|
unified for all CI jobs that we execute. When a commit is pushed to a
|
||||||
corresponding branch or a PR, the workflow executes the
|
corresponding branch or a PR, the workflow executes the
|
||||||
[`calculate-job-matrix.py`] script, which dynamically generates the specific CI
|
[`ci.py`] script, which dynamically generates the specific CI
|
||||||
jobs that should be executed. This script uses the [`jobs.yml`] file as an
|
jobs that should be executed. This script uses the [`jobs.yml`] file as an
|
||||||
input, which contains a declarative configuration of all our CI jobs.
|
input, which contains a declarative configuration of all our CI jobs.
|
||||||
|
|
||||||
|
|
@ -299,8 +299,7 @@ platform’s custom [Docker container]. This has a lot of advantages for us:
|
||||||
- We can avoid reinstalling tools (like QEMU or the Android emulator) every time
|
- We can avoid reinstalling tools (like QEMU or the Android emulator) every time
|
||||||
thanks to Docker image caching.
|
thanks to Docker image caching.
|
||||||
- Users can run the same tests in the same environment locally by just running
|
- Users can run the same tests in the same environment locally by just running
|
||||||
`src/ci/docker/run.sh image-name`, which is awesome to debug failures. Note
|
`python3 src/ci/github-actions/ci.py run-local <job-name>`, which is awesome to debug failures. Note that there are only linux docker images available locally due to licensing and
|
||||||
that there are only linux docker images available locally due to licensing and
|
|
||||||
other restrictions.
|
other restrictions.
|
||||||
|
|
||||||
The docker images prefixed with `dist-` are used for building artifacts while
|
The docker images prefixed with `dist-` are used for building artifacts while
|
||||||
|
|
@ -413,7 +412,7 @@ To learn more about the dashboard, see the [Datadog CI docs].
|
||||||
[GitHub Actions]: https://github.com/rust-lang/rust/actions
|
[GitHub Actions]: https://github.com/rust-lang/rust/actions
|
||||||
[`jobs.yml`]: https://github.com/rust-lang/rust/blob/master/src/ci/github-actions/jobs.yml
|
[`jobs.yml`]: https://github.com/rust-lang/rust/blob/master/src/ci/github-actions/jobs.yml
|
||||||
[`.github/workflows/ci.yml`]: https://github.com/rust-lang/rust/blob/master/.github/workflows/ci.yml
|
[`.github/workflows/ci.yml`]: https://github.com/rust-lang/rust/blob/master/.github/workflows/ci.yml
|
||||||
[`calculate-job-matrix.py`]: https://github.com/rust-lang/rust/blob/master/src/ci/github-actions/calculate-job-matrix.py
|
[`ci.py`]: https://github.com/rust-lang/rust/blob/master/src/ci/github-actions/ci.py
|
||||||
[rust-lang-ci]: https://github.com/rust-lang-ci/rust/actions
|
[rust-lang-ci]: https://github.com/rust-lang-ci/rust/actions
|
||||||
[bors]: https://github.com/bors
|
[bors]: https://github.com/bors
|
||||||
[homu]: https://github.com/rust-lang/homu
|
[homu]: https://github.com/rust-lang/homu
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,15 @@ Some additional notes about using the Docker images:
|
||||||
containers. With the container name, run `docker exec -it <CONTAINER>
|
containers. With the container name, run `docker exec -it <CONTAINER>
|
||||||
/bin/bash` where `<CONTAINER>` is the container name like `4ba195e95cef`.
|
/bin/bash` where `<CONTAINER>` is the container name like `4ba195e95cef`.
|
||||||
|
|
||||||
|
The approach described above is a relatively low-level interface for running the Docker images
|
||||||
|
directly. If you want to run a full CI Linux job locally with Docker, in a way that is as close to CI as possible, you can use the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 src/ci/github-actions/ci.py run-local <job-name>
|
||||||
|
# For example:
|
||||||
|
python3 src/ci/github-actions/ci.py run-local dist-x86_64-linux-alt
|
||||||
|
```
|
||||||
|
|
||||||
[Docker]: https://www.docker.com/
|
[Docker]: https://www.docker.com/
|
||||||
[`src/ci/docker`]: https://github.com/rust-lang/rust/tree/master/src/ci/docker
|
[`src/ci/docker`]: https://github.com/rust-lang/rust/tree/master/src/ci/docker
|
||||||
[`src/ci/docker/run.sh`]: https://github.com/rust-lang/rust/blob/master/src/ci/docker/run.sh
|
[`src/ci/docker/run.sh`]: https://github.com/rust-lang/rust/blob/master/src/ci/docker/run.sh
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue