Skip to content

Update stable rustc

Update stable rustc #4

name: Update stable rustc
on:
schedule:
- cron: "0 0 * * 6" # runs every Saturday 00:00
workflow_dispatch: # allows manual triggering
jobs:
format:
name: Update stable rustc
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Update rust.yml to use latest stable
run: |
set -x
# Extract the date from whatever version of the compiler dtolnay/rust-toolchain gives us.
RUSTC_VERSION=$(rustc --verbose --version | sed -ne 's/^release: //p')
# Update the version in the reference file.
echo "${RUSTC_VERSION}" > rustc-version
echo "rustc_version=${RUSTC_VERSION}" >> $GITHUB_ENV
# In case of no new version don't make an empty PR.
if ! git diff --exit-code > /dev/null; then
echo "Updated rustc. Opening PR."
echo "changes_made=true" >> $GITHUB_ENV
else
echo "Attempted to update rustc but the latest stable 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:
token: ${{ secrets.CREATE_PR_TOKEN }}
author: Update Rustc Bot <bot@example.com>
committer: Update Rustc Bot <bot@example.com>
title: Automated weekly update to rustc (to ${{ env.rustc_version }})
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 ${{ env.rustc_version }}
branch: create-pull-request/weekly-stable-update