mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-22 20:25:38 +00:00
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
name: Update Flake
|
|
|
|
on:
|
|
workflow_dispatch: # allows manual triggering
|
|
schedule:
|
|
- cron: '33 3 * * 0' # runs weekly on Sunday at 03:33
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
checks: write
|
|
|
|
jobs:
|
|
lockfile:
|
|
name: Lockfile
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v3
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@v4
|
|
- name: Check Nixpkgs Inputs
|
|
uses: DeterminateSystems/flake-checker-action@v5
|
|
- name: Add Nix Cache
|
|
uses: DeterminateSystems/magic-nix-cache-action@v2
|
|
- name: Update flake.lock
|
|
uses: DeterminateSystems/update-flake-lock@v19
|
|
id: update
|
|
with:
|
|
pr-title: "Update flake.lock" # Title of PR to be created
|
|
pr-labels: | # Labels to be set on the PR
|
|
dependencies
|
|
automated
|
|
- name: Check the Flake
|
|
id: check
|
|
run: nix flake check
|
|
- name: Update Check Status
|
|
uses: LouisBrunner/checks-action@v1.6.1
|
|
if: always()
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
name: Update Flake
|
|
conclusion: ${{ job.status }}
|
|
output: |
|
|
{"summary":"${{ steps.check.outputs.stdout }}"}
|
|
- name: Enable Pull Request Automerge
|
|
if: success()
|
|
run: |
|
|
gh pr merge \
|
|
--rebase \
|
|
--auto \
|
|
${{ steps.update.outputs.pull-request-number }}
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
- name: Close Pull Request If Failed
|
|
if: failure()
|
|
run: |
|
|
gh pr close \
|
|
--comment "Auto-closing pull request" \
|
|
--delete-branch \
|
|
${{ steps.update.outputs.pull-request-number }}
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|