From ece3ede00f72c260089c7d058daff1515aa32ab9 Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Mon, 3 Mar 2025 12:31:26 -0500 Subject: [PATCH] update flake lock action --- .github/workflows/flake-update.yml | 101 +++++++++++++++++++++++++---- 1 file changed, 88 insertions(+), 13 deletions(-) diff --git a/.github/workflows/flake-update.yml b/.github/workflows/flake-update.yml index f959a7b..b70b8ee 100644 --- a/.github/workflows/flake-update.yml +++ b/.github/workflows/flake-update.yml @@ -47,26 +47,101 @@ jobs: # } >> $GITHUB_ENV - - name: Restore flake.lock for next step - run: git restore flake.lock + # - name: Restore flake.lock for next step + # run: git restore flake.lock + # - name: Update flake.lock + # id: update + # uses: DeterminateSystems/update-flake-lock@main + # with: + # token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} + # pr-body: | + # Automated changes by the [update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) GitHub Action. + + # ``` + # {{ env.GIT_COMMIT_MESSAGE }} + # ``` + + # ``` + # {{ env.POSTDIFF }} + # ``` + # pr-labels: | # Labels to be set on the PR + # dependencies + # automated + update_lockfile: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install nix + uses: https://github.com/DeterminateSystems/nix-installer-action@main + - name: Update flake.lock id: update - uses: DeterminateSystems/update-flake-lock@main + run: | + nix flake update 2> >(tee /dev/stderr) | awk ' + /^• Updated input/ {in_update = 1; print; next} + in_update && !/^warning:/ {print} + /^$/ {in_update = 0} + ' > update.log + + echo "UPDATE_LOG<> $GITHUB_ENV + cat update.log >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + + rm update.log + + - name: Write PR body template + uses: https://github.com/DamianReeves/write-file-action@v1.3 with: - token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} - pr-body: | - Automated changes by the [update-flake-lock](https://github.com/DeterminateSystems/update-flake-lock) GitHub Action. + path: pr_body.template + contents: | + - The following Nix Flake inputs were updated: ``` - {{ env.GIT_COMMIT_MESSAGE }} + ${{ env.UPDATE_LOG }} ``` - ``` - {{ env.POSTDIFF }} - ``` - pr-labels: | # Labels to be set on the PR - dependencies - automated + Auto-generated by [update.yml][1] with the help of + [create-pull-request][2]. + + [1]: https://forgejo.stefka.eu/jiriks74/nix.nvim/src/branch/main/.github/workflows/update.yml + [2]: https://forgejo.stefka.eu/jiriks74/create-pull-request + + - name: Generate PR body + uses: pedrolamas/handlebars-action@v2.4.0 # v2.4.0 + with: + files: "pr_body.template" + output-filename: "pr_body.md" + - name: Save PR body + id: pr_body + uses: juliangruber/read-file-action@v1 + with: + path: "pr_body.md" + + - name: Remove temporary files + run: | + rm pr_body.template + rm pr_body.md + + - name: Create Pull Request + id: create-pull-request + uses: https://forgejo.stefka.eu/jiriks74/create-pull-request@7174d368c2e4450dea17b297819eb28ae93ee645 + with: + token: ${{ secrets.GH_TOKEN_FOR_UPDATES }} + body: ${{ steps.pr_body.outputs.content }} + author: '"github-actions[bot]" ' + title: 'automated: Update `flake.lock`' + commit-message: | + automated: Update `flake.lock` + + ${{ steps.pr_body.outputs.content }} + + branch: update-flake-lock + delete-branch: true + - name: Print PR number + run: | + echo "Pull request number is ${{ steps.create-pull-request.outputs.pull-request-number }}." + echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" permissions: pull-requests: write contents: write -- 2.48.1