nixos/.forgejo/workflows/update.yml
rope 066fd11449 update workflow: always commit so scheduled runs have a consistent label
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-19 19:54:21 +01:00

44 lines
1.4 KiB
YAML

name: Update flake inputs
on:
schedule:
- cron: '0 4 * * *' # Daily at 4am UTC
workflow_dispatch: # Allow manual trigger from the Actions tab
jobs:
update:
runs-on: fred-nix
permissions:
contents: write
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Install Nix
run: |
set -euxo pipefail
# The Nix install script refuses to run cleanly as root unless the
# nixbld group + users exist, even with --no-daemon. The runner's
# catthehacker image runs jobs as root, so create them first.
groupadd -r nixbld || true
for i in $(seq 1 10); do
useradd -r -g nixbld -G nixbld -d /var/empty -s /sbin/nologin \
-c "Nix build user $i" "nixbld$i" || true
done
curl --proto '=https' --tlsv1.2 -sSfL https://nixos.org/nix/install | sh -s -- --no-daemon
echo "$HOME/.nix-profile/bin" >> "$GITHUB_PATH"
mkdir -p ~/.config/nix
echo 'experimental-features = nix-command flakes' >> ~/.config/nix/nix.conf
- name: Update flake inputs
run: nix flake update
- name: Commit and push
run: |
set -euxo pipefail
git config user.name 'forgejo-actions[bot]'
git config user.email 'actions@forg.gregersen.it'
git add flake.lock
git commit --allow-empty -m 'Update flake inputs'
git push