name: Update flake.lock on: schedule: # run every saturday - cron: "0 0 * * 6" workflow_dispatch: jobs: update: name: Update runs-on: ubuntu-latest permissions: contents: write pull-requests: write steps: - name: Checkout repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Install Nix uses: DeterminateSystems/nix-installer-action@cd46bde16ab981b0a7b2dce0574509104543276e # v9 - name: Create new branch id: branch run: | branch="update-flake-lock" echo "branch=$branch" >> "$GITHUB_OUTPUT" git switch -c "$branch" - name: Update flake inputs run: | nix flake update \ --commit-lock-file \ --commit-lockfile-summary "chore: update flake inputs" - name: Update test flake inputs run: | pushd ./test nix flake update \ --commit-lock-file \ --commit-lockfile-summary "chore: update test flake inputs" popd - name: Make PR if needed env: GH_TOKEN: ${{ github.token }} BRANCH: ${{ steps.branch.outputs.branch }} run: | if ! git diff --color=always --exit-code origin/main; then git push -u origin "$BRANCH" gh pr create \ --base main \ --head "$BRANCH" \ --title "chore: update flake inputs" \ --fill fi