about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2024-04-29Unify outcome jobsJakub Beránek-19/+18
2024-04-27Add missing checkout stepJakub Beránek-0/+4
2024-04-27Move `TOOLSTATE_REPO` to top-level envJakub Beránek-1/+3
2024-04-25Remove `master` push hookJakub Beránek-1/+0
2024-04-25Remove useless conditionJakub Beránek-1/+0
Neither `env.DEPLOY` nor `env.DEPLOY_ALT` should be present in this job.
2024-04-25Inline `base-ci-job` YAML anchor and remove unused anchorsJakub Beránek-179/+97
2024-04-25Remove `master` CI jobJakub Beránek-19/+9
2024-04-25Rollup merge of #124327 - Kobzol:ci-skip-jobs, r=pietroalbiniMatthias Krüger-69/+29
CI: implement job skipping in Python matrix calculation This removes the `step` YAML anchor and the corresponding bash script. Best reviewed commit-by-commit. r? ```@pietroalbini```
2024-04-24Rollup merge of #123881 - erickt:bump-fuchsia, r=tmandryLeón Orell Valerian Liehr-6/+6
Bump Fuchsia versions This updates the Fuchsia commit used in `auto - x86_64-gnu-integration` CI bot to use the Rust commit 703dc9ce64d9b31a239a7280d9b5f9ddd85ffed6. This should help improve the coverage of this builder. It also updates the SDK version to F20.20240412.3.1, and the Fuchsia Clang version to c777c011a709dffd4fa5e79cad7947b7c3405d02. r? ``@tmandry``
2024-04-24Turn CI_ONLY_WHEN_CHANNEL from an environment variable to a job attributeJakub Beránek-10/+9
2024-04-24Fix documentationJakub Beránek-2/+2
2024-04-24Remove step YAML anchor and `env.SKIP_JOB`Jakub Beránek-30/+2
2024-04-24Remove `should-skip-this.sh`Jakub Beránek-25/+0
2024-04-24Skip jobs based on the active channel in PythonJakub Beránek-0/+12
2024-04-24Use a type alias for a CI jobJakub Beránek-3/+5
2024-04-24Auto merge of #124175 - Kobzol:ci-dynamic-job, r=pietroalbinibors-442/+562
CI: dynamic jobs This PR modifies our CI workflows to be dynamic. This means that when a GitHub event is generated, we will run a Python script (`calculate-job-matrix.py`), which decides which CI jobs should be generated. These jobs are defined in `src/ci/github-actions/jobs.yml`). This should provide a few benefits: - Once the migration to dynamic jobs is complete, we shouldn't need `expand-yaml-anchors` anymore. - The job table on PRs (and also the left job column on auto/try builds) should be much cleaner and contain only the jobs that are actually relevant/executed. - It should be much easier to support dynamic try builds, i.e. to run an arbitrary CI job on a try build. See [this Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/job.20matrix.20re-ordered.20PR.20list) for more context. r? `@ghost`
2024-04-23Fix empty job matrixJakub Beránek-0/+8
2024-04-23Make separate envs for try and auto buildsJakub Beránek-3/+10
2024-04-23Fix image field in auto jobsJakub Beránek-56/+56
2024-04-23Load GitHub context from environment variablesJakub Beránek-14/+24
2024-04-21Rollup merge of #124069 - onur-ozkan:run-clippy-on-bootstrap, r=albertlarsan68Guillaume Gomez-0/+1
enable clippy for bootstrap on CI PRs (in `mingw-check` image) Let's keep the bootstrap codebase cleaner.
2024-04-21Auto merge of #123981 - Kobzol:update-nodejs, r=Mark-Simulacrumbors-8/+20
CI: add script for installing NodeJS and update it to v20 I centralized the installation on a single place to make it simple to update the NodeJS version across the board. Fixes: https://github.com/rust-lang/rust/issues/123965 r? `@Mark-Simulacrum`
2024-04-20Auto merge of #121712 - mati865:provide-prebuilt-std-for-gnullvm, ↵bors-1/+18
r=Mark-Simulacrum Provide prebuilt std for gnullvm targets Revival of https://github.com/rust-lang/rust/pull/114346 which waiting on MCP that was accepted recently: https://github.com/rust-lang/compiler-team/issues/710#issuecomment-1942014308
2024-04-20Move `auto` jobs to calculate-job-matrix.pyJakub Beránek-405/+415
2024-04-20Refactor `calculate-job-matrix.py`Jakub Beránek-23/+48
2024-04-20Perform PR and try builds dynamicallyJakub Beránek-34/+94
2024-04-20Move calculate-job-matrix.py to `ci/github-actions`Jakub Beránek-2/+2
2024-04-18CI: add script for installing NodeJS and update it to v20Jakub Beránek-8/+20
2024-04-17Auto merge of #123978 - alexcrichton:update-wasi-toolchain, r=Mark-Simulacrumbors-62/+7
Update how WASI toolchains are used in CI and bootstrap This commit updates how the WASI targets are configured with their toolchain. Long ago a `config.toml` option of `wasi-root` was added to enable building with the WASI files produced by wasi-libc. Additionally for CI testing and release building the Rust toolchain has been using a hard-coded commit of wasi-libc which is bundled with the release of the `wasm32-wasip1` target, for example. Nowadays though the wasi-sdk project, the C/C++ toolchain for WASI, is the go-to solution for compiling/linking WASI code and contains the more-or-less official releases of wasi-libc. This commit migrates CI to using wasi-sdk releases and additionally updates `bootstrap` to recognize when this is configured. This means that with `$WASI_SDK_PATH` configured there's no further configuration necessary to get a working build. Notably this also works better for the new targets of WASI as well, such as `wasm32-wasip2` and `wasm32-wasip1-threads` where the wasi-sdk release now has libraries for all targets bundled within it.
2024-04-17enable clippy for bootstrap on CI PRsonur-ozkan-0/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-04-17Auto merge of #123678 - DianQK:docker-local, r=Kobzolbors-14/+17
Improve the experience of running Docker locally When running locally, the absence of the `GITHUB_STEP_SUMMARY` environment variable will lead to the following error: ``` ::endgroup:: ./src/ci/docker/run.sh: line 349: : No such file or directory ``` I've also changed the output artifacts directory to `obj/$image_name`, allowing me to easily run all images locally. We always encounter various strange issues when modifying the test cases in the `codegen` directory. r? Kobzol cc `@saethlin`
2024-04-16update `mingw-check` clippy invocationonur-ozkan-1/+1
Previously this command was linting compiler and library together. As we no longer run clippy on the entire tree unless it's explicitly requested, we need to update this command by adding `library` path. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-04-16Change the output artifact path to `$root_dir/obj/$image` when running locallyDianQK-10/+11
2024-04-15Auto merge of #123451 - Kobzol:arbitrary-try-build, r=pietroalbinibors-14/+90
CI: add a script for dynamically computing CI job matrix It would be great if was easier to run specific CI workflows locally, and also to allow us to spawn a specific CI workflow by bors, to enable running arbitrary try builds. See discussion [here](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/CI.20workflows.20refactoring). This PR is a first step in that direction. - Moves the definition of CI runners and (for now) PR jobs into a separate `jobs.yml` file. - Adds a simple Python script that reads the file, decides which jobs should be active for the current CI workflow, and prints them as JSON to their output. - The PR job then reads this output and generates its job matrix based on it. By moving the job definitions from `ci.yml` into a separate file, we can handle it programmatically, which should make it easier to both do local execution of CI jobs and also to do arbitrary try builds.
2024-04-15Update how WASI toolchains are used in CI and bootstrapAlex Crichton-62/+7
This commit updates how the WASI targets are configured with their toolchain. Long ago a `config.toml` option of `wasi-root` was added to enable building with the WASI files produced by wasi-libc. Additionally for CI testing and release building the Rust toolchain has been using a hard-coded commit of wasi-libc which is bundled with the release of the `wasm32-wasip1` target, for example. Nowadays though the wasi-sdk project, the C/C++ toolchain for WASI, is the go-to solution for compiling/linking WASI code and contains the more-or-less official releases of wasi-libc. This commit migrates CI to using wasi-sdk releases and additionally updates `bootstrap` to recognize when this is configured. This means that with `$WASI_SDK_PATH` configured there's no further configuration necessary to get a working build. Notably this also works better for the new targets of WASI as well, such as `wasm32-wasip2` and `wasm32-wasip1-threads` where the wasi-sdk release now has libraries for all targets bundled within it.
2024-04-15Add commentsJakub Beránek-1/+7
2024-04-15Provide prebuilt std for gnullvm targetsMateusz Mikuła-1/+18
2024-04-15Auto merge of #123828 - cuviper:cargo-aarch64-gnu, r=Mark-Simulacrumbors-1/+3
ci: test cargo on `aarch64-gnu` Since `aarch64-unknown-linux-gnu` is a tier-1 target, we should also test cargo on it, especially since cargo's own CI doesn't cover this yet. This might have helped us discover #123733 sooner, which is not a cargo problem but was uncovered by a new cargo test (which we'll have to skip for now). Everything else passes in my local run, so at least we'll have a guard against future regressions.
2024-04-14Fix ENV quotes in aarch64-gnu/DockerfileJosh Stone-1/+1
Co-authored-by: Eric Huss <eric@huss.org>
2024-04-13Rollup merge of #123530 - 9names:build-rv32im, r=Mark-SimulacrumMatthias Krüger-0/+3
Enable building tier2 target riscv32im-unknown-none-elf riscv32im-unknown-none-elf was promoted to tier2 in https://github.com/rust-lang/rust/pull/117874 but it has not yet been added to the list of build targets. By adding riscv32im-unknown-none-elf to the list of build targets, this PR enables end-users to install this target via rustup.
2024-04-13Bump Fuchsia versionsErick Tryzelaar-6/+6
This updates the Fuchsia commit used in `auto - x86_64-gnu-integration` CI bot to use the Rust commit 703dc9ce64d9b31a239a7280d9b5f9ddd85ffed6. This should help improve the coverage of this builder. It also updates the SDK version to F20.20240412.3.1, and the Fuchsia Clang version to c777c011a709dffd4fa5e79cad7947b7c3405d02.
2024-04-11ci: test cargo on `aarch64-gnu`Josh Stone-1/+3
2024-04-09Only output to `GITHUB_STEP_SUMMARY` in a CI environmentDianQK-1/+3
2024-04-09Use `isCI` in `run.sh`DianQK-3/+3
2024-04-09Rollup merge of #123624 - GuillaumeGomez:theme-switch-tests, r=notriddleMatthias Krüger-13/+11
[rustdoc] [GUI tests] Make theme switching closer to reality Better to actually perform actions user do rather than only testing the change through local storage. As for `browser-ui-test` update: I updated `puppeteer` version (to `0.19.4`) and fixed a bug when displaying the file if it came from an `include`. r? `@notriddle`
2024-04-08Manually set cache directory path when running GUI testsGuillaume Gomez-12/+10
2024-04-08Update browser-ui-test version to 0.17.2Guillaume Gomez-1/+1
2024-04-07disable debug assertions to speed up the check-aux jobRalf Jung-0/+4
2024-04-06Auto merge of #123545 - matthiaskrgr:rollup-vyx8cfv, r=matthiaskrgrbors-5/+6
Rollup of 4 pull requests Successful merges: - #114788 (impl get_mut_or_init and get_mut_or_try_init for OnceCell and OnceLock) - #122291 (Stabilize `const_caller_location` and `const_location_fields`) - #123357 (CI: Redirect stderr to stdout to order GHA logs) - #123504 (bootstrap: split cargo-miri test into separate Step) r? `@ghost` `@rustbot` modify labels: rollup
2024-04-06Rollup merge of #123504 - RalfJung:test-cargo-miri, r=Mark-SimulacrumMatthias Krüger-4/+4
bootstrap: split cargo-miri test into separate Step This makes it easier to test just the driver or the cargo-miri integration. ````@rust-lang/miri```` this means to test both you now need to do `./x.py test miri cargo-miri`.