Commit graph

86 commits

Author SHA1 Message Date
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
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