Update Nightly rustc #23
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
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 <[email protected]> | |
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 }} |