name: Update zims pin "on": schedule: - cron: "0 2 1 * *" # 0200 on the first of every month workflow_dispatch: jobs: update-flake-lock: runs-on: nix-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Update flake.lock run: nix run .#zim-updater -- --output pkgs/zim/blobs.json - name: Create PR if changed env: GITEA_TOKEN: ${{ secrets.KLAATU_TOKEN }} GITEA_URL: https://src.thehellings.com REPO: greg/nixos run: | if git diff --quiet pkgs/zim/blobs.json; then echo "blobs.json unchanged, nothing to do" exit 0 fi BRANCH="auto/update-zims-$(date +%Y%m%d)" git config user.email "klaatu@thehellings.com" git config user.name "klaatu" git checkout -b "$BRANCH" git add pkgs/zim/blobs.json git commit -m "chore: update zim blobs.json $(date +%Y-%m-%d)" # Push branch using token auth git remote set-url origin "https://klaatu:${GITEA_TOKEN}@${GITEA_URL#https://}/${REPO}.git" git push origin "$BRANCH" # Create PR via Gitea API curl -s -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \ -H "Content-Type: application/json" \ "${GITEA_URL}/api/v1/repos/${REPO}/pulls" \ -d "{ \"title\": \"chore: update zims $(date +%Y-%m-%d)\", \"head\": \"$BRANCH\", \"base\": \"main\", \"body\": \"Automated monthly zims update.\\n\\nGenerated by Gitea Actions.\", \"assignees\": [\"greg\"] }"