Commit graph

132 commits

Author SHA1 Message Date
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
Ed Page e03aa57eb0 chore(gh): Expand update window
I've been having some repos not updated lately.  RenovateBot project's theory is
that its because RenovateBot is scheduled to run once every 3 hours and
checks the schedule at that point while the schedules I use only offers
an exact 3 hour window, making this a race condition.  The schedule
originally came from RenovateBot but they changed their polling
schedule.

See https://github.com/renovatebot/renovate/discussions/23642#discussioncomment-6618560
2023-08-08 15:14:48 -05:00
Weihang Lo aefa6e96d7
ci: integrate xtask-bump-check 2023-08-01 22:54:40 +01:00
Ed Page 2f594ec258 chore: Don't update test data
Inspired by #12378

There is a preset for ignores but I feel like we'd more likely want to
be able to easily see whats actuazlly ignored.
2023-07-19 08:41:36 -05:00
Ed Page 12622ab56b chore: Automatically update dependencies monthly
This will update `Cargo.toml` and `Cargo.lock` at the same time.  By
default, all dependencies will be updated, so we pull out the compatible
dependencies into a consolidated PR.

This starts off with the dependency dashboard and automerging being
disabled but explicitly specified to call attention to the potential for
this.  We can evaluate these later.
2023-07-10 12:26:33 -05: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
Eric Huss 15dd1f481b Add S-triage auto-label. 2023-04-18 11:36:30 -07: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
Scott Schafer b6205c95fd chore: Use sparse protocol on stable CI 2023-03-10 11:13:31 -06:00
bors 5e76f3491a Auto merge of #11761 - epage:deny, r=weihanglo
chore(ci): Enforce cargo-deny in CI

With #11448, we are pulling in a wide and deep dependency tree which makes it harder for us to track what we are pulling in over time.

I've been trying out [`cargo-deny`](https://github.com/EmbarkStudios/cargo-deny) on my projects and wanted to explore how useful it might be for cargo.  atm I only have it configured to fail for unexpected licenses.  We can also use its warnings to hunt down and remove duplicated dependencies to speed up our builds.

I did also enable advisories.  We ignore the failure in a way to not block PRs or even show up as failure in PRs as PR authors are not responsible for dealing with these (unless its a new dep) and it can be intimidating as a contributor to see a failure and have no idea how to resolve it (as authors generally assume CI is green and failures are there fault)

I did not go too much further into what all `cargo-deny` can do; there might be more we can leverage.
2023-03-02 21:40:09 +00:00
Sebastian Thiel cfffda9ae5
add -Zgitoxide=fetch feature toggle and implementation.
This allows to use `gitoxide` for all fetch operations, boosting performance
for fetching the `crates.io` index by a factor of 2.2x, while being consistent
on all platforms.

For trying it, nightly builds of `cargo` can specify `-Zgitoxide=fetch`.
It's also possible to set the `__CARGO_USE_GITOXIDE_INSTEAD_OF_GIT2=1` environment
variable (value matters), which is when `-Zgitoxide=none` can be used
to use `git2` instead.

Limitations
-----------
Note that what follows are current shortcomings that will be addressed in future PRs.

- it's likely that authentication around the `ssh` protocol will work differently in practice
  as it uses the `ssh` program.
- clones from `file://` based crates indices will need the `git` binary to serve the locatl repository.
- the progress bar shown when fetching doesn't work like the orgiinal, but should already feel 'faster'.
2023-03-02 12:35:50 +01:00
Ed Page f08bcd9b12 chore(ci): Enforce cargo-deny in CI
We skip failure for advisories on the step, rather than the job, to not
distract contributors in thinking they broke something as that bubbles
up into the PR job summary.
2023-02-23 19:31:36 -06:00
Scott Schafer bf52c09991 ci: Add a job to deny clippy warnings 2023-02-15 12:13:21 -06:00
Weihang Lo 3e1f60fcb0
chore: bump mdbook to 0.4.27
Previously mdbook was bumped in #11646 for contrib.yml worflow
but main.yaml workflow. This makes the two in sync and also
upgrades to the latest 0.4.27. (Though there is nothing really
changed for application users as us)
2023-02-15 11:37:35 +00:00
Eric Huss fe8dd1b00c Run CI for macOS on nightly 2023-02-14 12:26:01 -08:00
Enyium 0263ef4379 Enable smart punctuation in mdBook. 2023-02-14 08:15:29 +01:00
Ed Page d52f29897a chore: Deny warnings across entire cargo repo 2023-02-10 16:17:33 -06:00