dotfiles/.github/workflows/update.yml

72 lines
2.2 KiB
YAML
Raw Normal View History

2023-07-29 19:20:14 +00:00
name: Update Flake
on:
workflow_dispatch: # allows manual triggering
schedule:
- cron: '33 3 * * 0' # runs weekly on Sunday at 03:33
permissions:
2023-07-30 13:37:52 +00:00
contents: write
2023-07-30 13:23:29 +00:00
pull-requests: write
checks: write
2023-07-29 19:20:14 +00:00
jobs:
lockfile:
name: Lockfile
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Install Nix
2024-06-02 18:04:28 +00:00
uses: DeterminateSystems/nix-installer-action@v11
with:
nix-package-url: https://releases.nixos.org/nix/nix-2.18.4/nix-2.18.4-x86_64-linux.tar.xz
2023-07-29 19:20:14 +00:00
- name: Check Nixpkgs Inputs
2024-06-02 18:04:28 +00:00
uses: DeterminateSystems/flake-checker-action@v7
- name: Add Nix Cache
2024-06-02 18:04:28 +00:00
uses: DeterminateSystems/magic-nix-cache-action@v6
2023-07-29 19:20:14 +00:00
- name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v23
2023-07-29 19:20:14 +00:00
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
2024-01-28 04:19:54 +00:00
pr-body: |
Automated changes by the [update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) GitHub Action.
```
{{ env.GIT_COMMIT_MESSAGE }}
```
- 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 }}"}
2023-07-29 19:20:14 +00:00
- name: Enable Pull Request Automerge
2023-09-30 13:35:37 +00:00
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 }}