From b4d24c9705ba65312349ee1b10b2f863a3f83231 Mon Sep 17 00:00:00 2001 From: Andrew Poelstra Date: Tue, 20 Feb 2024 14:55:59 +0000 Subject: [PATCH] ci: add daily job to update nightly rustc --- .../workflows/cron-daily-update-nightly.yml | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/cron-daily-update-nightly.yml diff --git a/.github/workflows/cron-daily-update-nightly.yml b/.github/workflows/cron-daily-update-nightly.yml new file mode 100644 index 0000000000..4e8c9233d5 --- /dev/null +++ b/.github/workflows/cron-daily-update-nightly.yml @@ -0,0 +1,38 @@ +name: Update Nightly rustc +on: + schedule: + - cron: "0 0 * * *" # runs daily at 00:00 + workflow_dispatch: # allows manual triggering +jobs: + format: + name: Update nightly rustc + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - name: Update rust.yml to use latest nightly + run: | + set -x + # Not every night has a nightly, so extract the date from whatever + # version of the compiler dtolnay/rust-toolchain gives us. + NIGHTLY_DATE=$(rustc +nightly --verbose --version | sed -ne 's/^commit-date: //p') + # Update the nightly version in the reference file. + echo "nightly-${NIGHTLY_DATE}" > .github/nightly-version + echo "nightly_date=${NIGHTLY_DATE}" >> $GITHUB_ENV + # Some days there is no new nightly. In this case don't make an empty PR. + if ! git diff --exit-code > /dev/null; then + echo "Updated nightly. Opening PR." + echo "changes_made=true" >> $GITHUB_ENV + else + echo "Attempted to update nightly but the latest-nightly date did not change. Not opening any PR." + echo "changes_made=false" >> $GITHUB_ENV + fi + - name: Create Pull Request + if: env.changes_made == 'true' + uses: peter-evans/create-pull-request@v6 + with: + author: Update Nightly Rustc Bot + title: Automated daily update to rustc (to nightly-${{ env.nightly_date }}) + body: | + Automated update to Github CI workflow `rust.yml` by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action + commit-message: Automated update to Github CI to rustc nightly-${{ env.nightly_date }}