Commit graph

170 commits

Author SHA1 Message Date
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 e7ca9bec80, reversing
changes made to bd5f32bb1c.

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
Ed Page 89810b9688 chore(ci): Ignore openssl deps
We excluded the packages in #13731 but that just means they fell into
the default logic, rather than being ignored (see #13835).  This at
least made it easier to reject the change.

This should prevent the PR from being created.
2024-05-01 15:35:59 -05:00
Weihang Lo 399f2c765c
chore: tell renovatebot to not touch openssl (temporarily) 2024-04-10 09:29:03 -04:00
Eric Huss 33360c898a CI: Update macos images to macos-13 2024-04-01 13:17:36 -07:00
Sebastian Thiel 363d2da187
address PR review (see details)
* remove renovate group as it's not needed anymore
* repository discovery will open with isolation
2024-03-18 15:35:50 +01:00
Sebastian Thiel a989423650
upgrade gix to v0.60
It contains the feature required to get a directory traversal.
2024-03-18 09:39:10 +01: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
Ed Page 22e1f9f124 chore(ci): Drop MSRV:1 patch field
This was missed when I did MSRV:3

This make it less annoying for people to keep up on every patch with
their own MSRVs.
2024-02-15 10:03:56 -06: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
Ed Page 2f85ded787 chore(ci): Fix MSRV:3 updates
PR #13266 shows that #13265 worked, so extending it to also cover
`MSRV:3` updates.

Really, I just forgot...
2024-01-08 15:39:21 -06:00
Ed Page 82e80302a7 chore(ci): Shot-in-the-dark fix for MSRV updating
With #13254, we found MSRV updating is broken.
PR #12775 is the last MSRV we got.
That was merged before #12654 and #13106.
That makes #12654 the most likely culprit.

Looking at the logs:
```
DEBUG: Matched 24 file(s) for manager regex: Cargo.toml, benches/benchsuite/Cargo.toml, benches/capture/Cargo.toml, crates/cargo-platform/Cargo.toml, crates/cargo-test-macro/Cargo.toml, crates/cargo-test-support/Cargo.toml, crates/cargo-test-support/containers/apache/bar/Cargo.toml, crates/cargo-test-support/containers/sshd/bar/Cargo.toml, crates/cargo-util-schemas/Cargo.toml, crates/cargo-util/Cargo.toml, crates/crates-io/Cargo.toml, crates/home/Cargo.toml, crates/mdman/Cargo.toml, crates/resolver-tests/Cargo.toml, crates/rustfix/Cargo.toml, crates/semver-check/Cargo.toml, crates/xtask-build-man/Cargo.toml, crates/xtask-bump-check/Cargo.toml, crates/xtask-stale-label/Cargo.toml, credential/cargo-credential-1password/Cargo.toml, credential/cargo-credential-libsecret/Cargo.toml, credential/cargo-credential-macos-keychain/Cargo.toml, credential/cargo-credential-wincred/Cargo.toml, credential/cargo-credential/Cargo.toml
...
DEBUG: manager extract durations (ms)
{
  "managers": {
    "dockerfile": 30,
    "github-actions": 38,
    "regex": 386,
    "cargo": 855
  }
}
DEBUG: Found cargo package files
DEBUG: Found dockerfile package files
DEBUG: Found github-actions package files
DEBUG: Found 25 package file(s)
```
Our regex managers have the files matched
but no regex manager packages are found.
I think this means that the name association failed or the regex within
the file content failed.

The differences between cargo and my other projects
- Use of `:`
- `depNameTemplate`
- Presence of `\b`

As a first attempt, I'm going to switch `\b` to `\\b` to be like the
other escaped regex values.
2024-01-08 12:11:55 -06:00
Ed Page a93f4d8a18 chore: Add dependency dashboard
Example: https://github.com/clap-rs/clap/issues/4824

I'm hoping this will make it easier to see what is going on with
problems with RenovateBot, like our MSRVs not updating atm (#13254).
2024-01-05 20:08:43 -06:00
renovate[bot] 3e660a6421
chore(config): migrate config .github/renovate.json5 2023-12-03 08:53:53 -05:00
Ed Page ed83ee0a2f chore(ci): Always update gix packages together 2023-12-01 10:02:30 -06:00
Weihang Lo 5c32fe0432
test(trim-paths): exercise with real world debugger 2023-12-01 08:48:24 -05:00
Weihang Lo 44e063830c
docs: remove review capacity notice 2023-11-28 20:40:27 -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 4b55a4f76f chore(gh): Automatically update cargo-credential MSRV 2023-10-06 16:34:42 -05:00
Ed Page a4928f6584 refactor(gh): Allow tracking multiple MSRVs 2023-10-06 16:34:40 -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
Ed Page 130ea2ae36 chore(ci): Update Renovate schema 2023-09-26 08:18:02 -05:00
Ed Page f328f03600 chore(ci): Ignore patch version in MSRV
1. Its extra churn to be forced to update parch releases
2. #12654 adds `cargo hack` which doesn't handle MSRV patch versions
   well
2023-09-20 09:07:48 -05:00
Arlo Siemsen a900742c33 Add MSRV validation GitHub Action for cargo-credential 2023-09-05 23:01:53 -05:00
Ed Page 87b6e0e684 chore: Automate updating of MSRV 2023-08-22 16:46:48 -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