42 lines
1.9 KiB
YAML
42 lines
1.9 KiB
YAML
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}" > 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:
|
|
token: ${{ secrets.APOELSTRA_CREATE_PR_TOKEN }}
|
|
author: Update Nightly Rustc Bot <bot@example.com>
|
|
committer: Update Nightly Rustc Bot <bot@example.com>
|
|
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 }}
|
|
branch: create-pull-request/daily-nightly-update
|