Commit Graph

92 Commits

Author SHA1 Message Date
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
Ed Page 29fde12f29 chore(ci): Speed up MSRV check by doing 'check'
Most MSRV issues will be with too-new APIs and not behavior changes
2023-10-03 10:20:35 -05:00
Ed Page 510606e8f3 chore(ci): Automatically track cargo-credential's MSRV in CI 2023-10-03 10:19:48 -05:00
renovate[bot] 94024bf5e4
chore(deps): update actions/checkout action to v4 2023-10-01 03:07:56 +00:00
Arlo Siemsen a900742c33 Add MSRV validation GitHub Action for cargo-credential 2023-09-05 23:01:53 -05:00
Weihang Lo f9920c2750
ci: test `resolver-tests` in a separate job 2023-08-22 12:52:12 +01:00
Weihang Lo 4360d9d2ad
ci: use pull request head commit whenever possible
The `github.sha` is a merge commit with the parents of latest master
and the head of the pr. Trying to diff the changes from that merge
SHA to base will show all changes that have been made in-between.

And that doesn't seem about right.

We switch to `github.event.pull_request.head.sha` if there is a pr.

See: https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/version-bump.20CI.20failing
2023-08-16 00:11:23 +01:00
Weihang Lo aefa6e96d7
ci: integrate `xtask-bump-check` 2023-08-01 22:54:40 +01:00
Eric Huss a1812676b7 docs: Use heading attributes to control the fragment. 2023-07-11 18:02:52 -07:00
Ed Page 6968d41c3a chore(ci): Automatically test all new packages 2023-07-10 13:04:14 -05:00
Ed Page 3d7dd47f15 chore(ci): Clarify which steps are linked by disk space 2023-07-10 13:00:23 -05:00
Ed Page b83ac38637 chore(ci): Put success/failure first so we remember to update them 2023-07-10 13:00:20 -05:00
Ed Page ccd2540bf1 chore(ci): Ensure bors is blocked on clippy 2023-06-09 08:11:49 -05:00
Weihang Lo 423eb4e6f1
chore: sparse protocol is now on by default! 2023-06-01 22:11:20 +01:00
Weihang Lo ffbf0ec4b5
Revert "chore: detect the channel a PR wants to merge into" 2023-05-30 22:41:45 +01:00
Weihang Lo 40be7187a9
chore: detect the channel a PR wants to merge into 2023-05-30 11:46:19 +01:00
Weihang Lo f5e39a86c5
chore(ci): remove temporary fix for rustup 1.24.1
rustup#2759 was fixed in 1.24.2 and now it's 1.26.0.
Let's see if everything goes well!
2023-05-25 14:49:24 +01:00
Weihang Lo ab2b241e2b
ci: check if version bump needed 2023-05-11 00:22:02 +01:00
Weihang Lo 36653ab85a
ci: add job `stale-label` 2023-04-28 12:02:51 +01:00
bors e0910a2fbd Auto merge of #12025 - weihanglo:ci2, r=epage
CI: ensure intra links for all members are checked
2023-04-24 16:22:49 +00:00
bors 9fd2510170 Auto merge of #12027 - weihanglo:platform-specific-deps, r=epage
chore: make credential dependencies platform-specific

### What does this PR try to resolve?

Starting from #11993, we made `cargo-credential-macos-keychain` and `cargo-credential-wincred` able to build on all platforms. However, some of their dependencies are not. This PR turns them into platform specific dependencies to circumvent the situation.

### How should we test and review this PR?

Run the following commands on all platforms Cargo supports.

```
cargo check --workspace --exclude cargo-credential-gnome-secret
```
2023-04-24 15:34:04 +00:00
bors 3862b01494 Auto merge of #12024 - weihanglo:ci, r=epage
CI: use `-p` to specify workspace members instead of `--manifest-path`
2023-04-24 14:20:58 +00:00
Weihang Lo 77e82ee1b4
ci: ensure intra links for all members are checked 2023-04-24 14:49:46 +01:00
Weihang Lo ad6c4144cc
ci: remove unnecessary condition for building cargo-credential-* 2023-04-24 14:48:24 +01:00
Weihang Lo b2f16d1157
ci: requires `test_gitoxide` and `lockfile` for both bors success and failure 2023-04-24 14:17:20 +01:00
Weihang Lo 9d2fbf791e
ci: unnecessary `--manifest-path` against resolver-tests 2023-04-24 13:43:37 +01:00
Weihang Lo 3b8d744b44
ci: run linkchekcer from target dir
This helps us remove `src/doc` from `exclude` list in Cargo.toml
2023-04-21 10:58:45 +01:00
Weihang Lo ff216ebc96
chore: make `server-check` a workspace member 2023-04-21 10:58:45 +01:00
Weihang Lo 6dc17a26ce
ci: check if Cargo.lock is up-to-date 2023-04-18 17:52:55 +01:00
Weihang Lo 36f00f42c2
ci: use `-p` to specify which package to build an test
Co-authored-by: Scott Schafer <schaferjscott@gmail.com>
Co-authored-by: Eric Huss <eric@huss.org>
2023-04-12 11:30:42 +01:00
Weihang Lo 6712c513b5
ci: remove redundant CARGO_REGISTRIES_CRATES_IO_PROTOCOL 2023-03-14 11:21:30 +00:00
Weihang Lo c70fac0bc5
ci: make clean-test-output a script for reuse 2023-03-14 10:59:59 +00:00