Skip to content

Commit

Permalink
github/update: run update on the respective branch
Browse files Browse the repository at this point in the history
- Run the `update.yml` workflow on the triggered branch, replace the
  job matrix with a conditional step that runs update on nixos-24.05.
- Added a `cancel-in-progress` concurrency group.
- Disabled committing in PR action (using negative add-paths).
  • Loading branch information
MattSturgeon committed Jul 15, 2024
1 parent abc409c commit 168ac4c
Showing 1 changed file with 31 additions and 34 deletions.
65 changes: 31 additions & 34 deletions .github/workflows/update.yml
Original file line number Diff line number Diff line change
@@ -1,45 +1,44 @@
name: update
on:
workflow_dispatch: # allows manual triggering
inputs:
branch:
description: "Branch to update"
type: choice
options:
- "stable & unstable"
- "main"
- "nixos-24.05"
# Runs every Saturday at noon
schedule:
- cron: "0 12 * * SAT" # runs weekly on Saturday at noon
- cron: "0 12 * * SAT"
# Allow manual triggering
workflow_dispatch:
inputs:
nixos-24.05:
type: boolean
description: Also update nixos-24.05

jobs:
lockfile:
strategy:
matrix:
# This allows to update both stable & unstable branches, but not both when triggered
# manually
branch: ["main", "nixos-24.05"]
selectedBranch: ["${{ inputs.branch }}"]
exclude:
- selectedBranch: main
branch: "nixos-24.05"
- selectedBranch: "nixos-24.05"
branch: main
# Allow one concurrent update per branch
concurrency:
group: "update-${{ github.ref_name }}"
cancel-in-progress: true

# Allow pushing and creating PRs
permissions:
contents: write
pull-requests: write

jobs:
update:
name: Update the flake inputs and generate options
runs-on: ubuntu-latest
timeout-minutes: 40

permissions:
contents: write
pull-requests: write

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.CI_UPDATE_SSH_KEY }}
ref: ${{ matrix.branch }}

# NOTE: If additional "inputs" are added, copy this step
- name: Update nixos-24.05
if: inputs['nixos-24.05'] || github.event_name == 'schedule'
env:
GH_TOKEN: ${{ github.token }}
run: |
gh workflow run update.yml --ref nixos-24.05
- name: Install Nix
uses: cachix/install-nix-action@v26
Expand Down Expand Up @@ -82,13 +81,11 @@ jobs:
id: pr
uses: peter-evans/create-pull-request@v6
with:
branch: update/${{ matrix.branch }}
base: ${{ matrix.branch }}
add-paths: !**
branch: update/${{ github.ref_name }}
delete-branch: true
team-reviewers: |
nix-community/nixvim
title: |
[${{ matrix.branch }}] Update flake.lock & generated files
[${{ github.ref_name }}] Update flake.lock & generated files
body: |
## Flake lockfile
```
Expand All @@ -112,7 +109,7 @@ jobs:
echo "${pr} was ${operation}."
# markdown summary
echo "## ${{ matrix.branch }}" >> $GITHUB_STEP_SUMMARY
echo "## ${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY
echo >> $GITHUB_STEP_SUMMARY
echo "\`${head:0:6}\` pushed to \`${pr_branch}\`" >> $GITHUB_STEP_SUMMARY
echo >> $GITHUB_STEP_SUMMARY
Expand Down

0 comments on commit 168ac4c

Please sign in to comment.