forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Automate cargo update without dependabot (rust-lang#2942)
Automatically create pull requests from the result of running `cargo update` every Monday morning. This should avoid the need for manual PRs to update Cargo.lock, which seemingly dependabot wouldn't take care of. We now only use dependabot to update github actions. This revives what I had initially proposed in rust-lang#2895 in light of rust-lang#2940.
- Loading branch information
1 parent
1e6213d
commit 036eb88
Showing
2 changed files
with
47 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Copyright Kani Contributors | ||
# SPDX-License-Identifier: Apache-2.0 OR MIT | ||
|
||
name: Attempt cargo update | ||
|
||
on: | ||
schedule: | ||
- cron: "30 3 * * Mon" # Run this every Monday at 03:30 UTC | ||
workflow_dispatch: # Allow manual dispatching for a custom branch / tag. | ||
|
||
permissions: | ||
checks: write | ||
contents: write | ||
pull-requests: write | ||
|
||
jobs: | ||
create-cargo-update-pr: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Checkout Kani | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Kani Dependencies | ||
uses: ./.github/actions/setup | ||
with: | ||
os: ubuntu-22.04 | ||
|
||
- name: Run cargo update | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
run: | | ||
today=$(date +%Y-%m-%d) | ||
echo "today=$today" >> $GITHUB_ENV | ||
if ! git ls-remote --exit-code origin cargo-update-$today ; then | ||
cargo update | ||
cargo build-dev | ||
git diff | ||
fi | ||
- name: Create Pull Request | ||
uses: peter-evans/create-pull-request@v5 | ||
with: | ||
commit-message: Upgrade cargo dependencies to ${{ env.today }} | ||
branch: cargo-update-${{ env.today }} | ||
delete-branch: true | ||
title: 'Automatic cargo update to ${{ env.today }}' | ||
body: > | ||
Dependency upgrade resulting from `cargo update`. |