hydra-jobs/.gitea/workflows/update-flake.yaml

48 lines
1.2 KiB
YAML

name: Update Nix Flake
on:
schedule:
- cron: "30 0 * * *" # daily run
workflow_dispatch: {}
jobs:
update-flake:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: "${{ gitea.token }}"
fetch-depth: 0
ref: flake-updates
- name: Git config
shell: bash
run: |
git config user.name "Gitea Actions"
git config user.email "actions@gitea.local"
- name: Merge main branch
run: |
git merge --squash origin/main
# solve merge conflict by taking flake.lock from main
git checkout origin/main -- flake.lock
git commit -m "Merge main branch squashed $(date -I)"
- name: Set up Nix
uses: cachix/install-nix-action@v31
- name: Update Flake
run: nix flake update
- name: Commit and push changes
shell: bash
run: |
git add flake.lock
if git diff --cached --quiet; then
echo "No changes to commit."
else
git commit -m "Update flake.lock $(date -I)"
git push origin flake-updates
fi