123 Commits

Author SHA1 Message Date
Ross Sullivan
49f0dcc343
chore: Skip check-version-bump ci job in forks 2025-09-13 00:10:16 +09:00
Weihang Lo
15165cac21
Add Arm64 Windows CI jobs (#15790)
The `aarch64-pc-windows-msvc` target is on the path to being promoted to
Tier 1: <https://github.com/rust-lang/rfcs/pull/3817>

Adding Arm64 Windows runners will catch any potential issues in Cargo
before changes are merged in, instead of waiting for the Cargo submodule
to be updated.
2025-08-21 15:00:50 +00:00
Eric Huss
f8dc368fe3 Switch to using native mdbook fragment redirects
Mdbook recently gained the ability to redirect fragments. This removes
the embedded scripts to use this mechanism instead.
2025-08-18 14:21:36 -07:00
Weihang Lo
9614bc251b
chore: remove x86_64-apple-darwin from CI and tests
RFC 3841 has merged, and x86_64-apple-darwin will be demoted to tier-2
in 1.90.0. In Cargo we usually run test against tier-1 platforms, so
x86_64-apple-darwin should be removed.
Also, that target platform is often the slowest one in CI,
we are happy to remove it to save us a couple of minutes.

https://rust-lang.github.io/rfcs/3841-demote-x86_64-apple-darwin.html
2025-08-12 16:02:16 -04:00
renovate[bot]
0d6aa033a1
chore(deps): update cargo-semver-checks to v0.43.0 2025-08-10 08:24:34 +00:00
Daniel Paoliello
0aaa4cb00c Add Arm64 Windows CI jobs 2025-07-30 10:14:17 -07:00
renovate[bot]
9b91ef09fe
chore(deps): update cargo-semver-checks to v0.42.0 2025-07-05 16:08:44 +00:00
Weihang Lo
11e40ae867
test(trim-paths): verify Windows cdb works after trimmed
GitHub Actions has Windows SDK pre-installed,
so cdb should be available at that path always.

Additionally, this adds a new CI job for windows-msvc nightly toolchain
2025-06-02 08:10:24 -04:00
Eric Huss
c9261238cf
CI: Require schema job to pass
I'm not certain, but I do not believe it was intentional in https://github.com/rust-lang/cargo/pull/15000 to allow the `schema` job to fail. This adds it to the required passing list.
2025-05-07 12:39:52 -07:00
renovate[bot]
1a195abcd5
chore(deps): update cargo-semver-checks to v0.41.0 2025-04-22 17:55:40 +00:00
Weihang Lo
2080ac30df
chore(ci): add aarch64 linux runner
Linux arm64 hosted runners is in public preview.
Enable and see if is is something we can have now.

setting `target.linker` is required for cross-compilation
on ARM64, so disable cross compilation tests for it.

https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/
2025-04-01 22:07:36 -07:00
renovate[bot]
251a078d4d
chore(deps): update cargo-semver-checks to v0.40.0 2025-03-08 17:39:57 +00:00
Ed Page
9946566ce4 chore(ci): Update cargo-semver-checks 2025-02-20 16:08:12 -06:00
Eric Huss
19b5e2356c Move changelog to the cargo book
Due to rendering limits with GitHub's markdown renderer, we're moving
the changelog to the cargo book where it can be statically served under
our control.
2025-01-28 18:52:33 -08:00
Weihang Lo
e57a2f43c2
test: show that -Awarnings fails target info probing
This will be resolved in the next commit
2025-01-08 17:27:25 -05:00
Ed Page
876f17d46b chore(ci): Ensure JSON schema gets updated 2025-01-01 10:16:18 -06:00
Eric Huss
f18cbda5ab Limit release trigger to 0.* tags 2024-12-15 14:27:45 -08:00
Weihang Lo
feb398a442
fix(build-std): determine root crates by target spec std:bool
In rust-lang/cargo#14183 Cargo starts bailing out if the `metadata.std`
field in a target spec JSON is set to `false`.
This is problematic because std for some targets are actually buildable
even they've declared as std-unsupported.

This patch removes the hard error, and instead determines the required
root crates by the `metadata.std` field. That is to say, if a target
is explicitly declared as `std: false`, `-Zbuild-std` will build `core`
and `compiler-builtins` only, no `std` will be built.

This patch doesn't change the behavior of `-Zbuild-std` with explicit
crates set. For example `-Zbuild-std=std` will force building `std`.

See Zulip discussion:
https://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/help.20debugging.20a.20docs.2Ers.20issue.20with.20a.20new.20cargo.20error
2024-12-05 23:15:21 -05:00
Ed Page
e808a85905 chore(ci): Bump cargo-semver-checks version 2024-11-29 11:03:36 -06:00
Jakub Beránek
eb9066a135
CI: make the lint-docs job required 2024-11-08 18:16:02 +01:00
Jakub Beránek
92cf8134bc Switch CI from bors to merge queue 2024-10-22 22:45:21 +02:00
Weihang Lo
96ef4e4e7d
chore(deps): update embarkstudios/cargo-deny-action action to v2 2024-10-01 09:13:19 -04:00
Ed Page
023f4c66ca test: Remove completion tests
The tests are intended to spot check that shell completions are
registered correctly.  That is a low change, low risk area.  For shell
integration, we're relying on `clap_complete`s tests.
For our own candidates, we should test the candidate generation
directly, rather than end-to-end.

This reverts parts of commit e7ca9bec80ab5c010c1a84690816da7b64008257, reversing
changes made to bd5f32bb1c7ca273b5d86815bf0ae4adba59ddd8.

Fixes #14545
2024-09-24 08:58:57 -05:00
shannmu
7b0b97789c ci: Install zsh, fish and elvish on ubuntu-lastest for the test and test_gitoxide jobs 2024-09-10 16:03:30 +08:00
Joe Neeman
90fef7a6aa Bump cargo-semver-checks in ci 2024-09-06 10:16:04 +07:00
Eric Huss
afe0b2de7a CI: Switch macos aarch64 to nightly
We will be promoting aarch64-apple-darwin to tier 1 soon via
https://github.com/rust-lang/rust/pull/128592. This updates our CI
so that aarch64-apple-darwin runs the full test suite on nightly to
keep this in-line with tier-1 support.

This also removes the x86_64 stable macos job and replaces it with
aarch64, mainly because aarch64 runs much faster, and presumably
x86_64 support will go away some day.
2024-08-09 18:08:28 -07:00
Weihang Lo
12d00dcf6f
chore(ci): cargo-semver-checks to 0.32.0 2024-07-15 20:24:48 -04:00
Weihang Lo
00da161ce8
chore(ci): mdbook to 0.4.40 2024-07-15 20:20:20 -04:00
Pietro Albini
a28baaf3fb
add workflow to publish Cargo automatically 2024-07-06 11:56:48 +02:00
Ed Page
2bd147f62a chore(ci): Upgrade cargo-semver-checks
This should work with the new rustdoc json output
2024-06-13 11:46:41 -05:00
Scott Schafer
7d7b7c2c8b
feat: Add an xtask to generate lint documentation 2024-06-06 23:03:53 -06:00
Eric Huss
33360c898a CI: Update macos images to macos-13 2024-04-01 13:17:36 -07:00
Ed Page
0564365ff3 chore(ci): Ensure lockfile is respected during MSRV testing
As a hack in cargo-hack, it doesn't respect lockfiles when doing MSRV
testing unless `--locked` is passed in.
This adds that so we make sure we don't run into problems with newer,
MSRV-imcompatible dependencies come out that break our build.

See
- https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/gix-ref.20CI.20error/near/423319798
- https://github.com/taiki-e/cargo-hack/issues/234
- https://github.com/taiki-e/cargo-hack/pull/236
2024-03-02 20:39:19 -06:00
Eric Huss
ccaa118d27 Add workaround for RUSTUP_WINDOWS_PATH_ADD_BIN.
On Windows, rustup has an issue with recursive cargo invocations. This
commit can be removed once
https://github.com/rust-lang/rustup/issues/3036 is resolved.
2024-02-20 13:24:50 -08:00
Eric Huss
9f71231391 Add global_cache_tracker stability tests.
This adds some tests to ensure that the database used in the global
cache tracker stays compatible across versions. These tests work by
using rustup to run both the current cargo and the stable cargo, and
verifying that when switching versions, everything works as expected.
2024-02-20 12:43:07 -08:00
Weihang Lo
b36f34ff53
chore(ci): cargo-semver-checks to 0.29.0 2024-02-19 11:42:29 -05:00
Weihang Lo
9859f6e5cf
chore(ci): mdbook to 0.4.37 2024-02-19 11:42:26 -05:00
Weihang Lo
b3ac10f08a
chore(ci): enable m1 runner 2024-01-31 11:43:03 -05:00
Urgau
2739b6d3b6 Improve and fix the success and failure bors job gates 2024-01-18 16:58:27 +01:00
Urgau
f7bed34c1d Improve GitHub Actions CI config 2024-01-18 16:58:27 +01:00
Weihang Lo
5c32fe0432
test(trim-paths): exercise with real world debugger 2023-12-01 08:48:24 -05:00
Weihang Lo
68af5090ec
chore: enable clippy check for all workspace members
This also remove `RUSTFLAGS: -D warnings` for test,
as it seems to be redundant and clippy covers everythings
2023-11-16 13:19:44 -05:00
Weihang Lo
ec9c5b0b43
ci: big ⚠️ to ensure the CNAME file is always there 2023-10-18 21:31:10 -04:00
Weihang Lo
4f0016d457
ci: generate link redirections when publising contrib doc 2023-10-18 12:59:06 -04:00
bors
f806be2dde Auto merge of #12835 - dvdhrm:pr/contrib-concurrency, r=weihanglo
ci/contrib: use separate concurrency group

Run the contrib workflow in its own concurrency group to avoid multiple runs causing conflicting git pushes.

The contrib workflow pushes to the gh-pages branch, and thus is not safe to be run multiple times in parallel. Given that github-actions can stall workflow runs for quite some time, multiple executions can overtake each other. By using concurrency groups, all workflow runs will wait until previous runs completed.

Given that the workflow uses orphan-branches and forced pushes, conflicting workflows will not fail, but might produce outdated data if they overtake each other.

We explicitly disable cancellation to get better diagnostics and more easily find the first possible run that failed. Since these workflow runs are rather fast, and only run on master, cancellation seems not necessary.
2023-10-17 19:04:23 +00:00
David Rheinsberg
cdc7c1be02 ci/contrib: use separate concurrency group
Run the contrib workflow in its own concurrency group to avoid multiple
runs causing conflicting git pushes.

The contrib workflow pushes to the gh-pages branch, and thus is not safe
to be run multiple times in parallel. Given that github-actions can
stall workflow runs for quite some time, multiple executions can
overtake each other. By using concurrency groups, all workflow runs will
wait until previous runs completed.

We explicitly disable cancellation to get better diagnostics and more
easily find the first possible run that failed. Since these workflow
runs are rather fast, and only run on master, cancellation seems not
necessary.
2023-10-17 16:02:03 +02:00
David Rheinsberg
1d261830a0 ci/contrib: do not fail on missing gh-pages
The current contrib deploy-hook fails if there is no `gh-pages` branch.
Change the CI order to disregard the old `gh-pages` branch first.

The `contrib` deploy-hook always creates a fresh `gh-pages` commit and
pushes it out. However, currently it relies on the old `gh-pages` branch
to exist, since it does not ignore errors when pruning it. Fortunately,
the code always creates a new orphan branch, since it does not want to
keep history for deployments. Therefore, we can simply use:

    `git worktree --orphan -B <branch> <path>`

This will ensure to always create an orphan branch named `<branch>`, and
override an existing branch if it exists (see `-b` vs `-B`). Hence,
there is no need for us to prune the old branch, anymore.

Since we will recreate the branch on every push, we have to explicitly
specify the remote to push to. We no longer set up branch tracking.
2023-10-17 14:28:23 +02:00
bors
0871c0e2f4 Auto merge of #12795 - weihanglo:semver-checks, r=ehuss
ci: bump cargo-semver-checks to 0.24.0
2023-10-08 21:15:54 +00:00
Weihang Lo
60539e94dc
ci: bump cargo-semver-checks to 0.24.0
Also remove workaround since the issue was fixed in upstream.
2023-10-08 16:24:23 -04:00
Ed Page
9864b35051 chore(ci): Verify all MSRVs in CI 2023-10-06 16:34:42 -05:00