From 6182318a29d36a44808f8e0705769394e129b5d9 Mon Sep 17 00:00:00 2001 From: ahtlon Date: Fri, 20 Feb 2026 20:19:57 +0100 Subject: [PATCH] [actions] fix the autoupdate action --- .gitea/workflows/autoupdate.yml | 93 ++++++++++++++++++++++++++++----- 1 file changed, 81 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/autoupdate.yml b/.gitea/workflows/autoupdate.yml index dc9e06df..afcaa153 100644 --- a/.gitea/workflows/autoupdate.yml +++ b/.gitea/workflows/autoupdate.yml @@ -18,8 +18,27 @@ jobs: run: | apt-get update apt-get install -y sudo + - name: Install Tea + env: + TEA_DL_URL: "https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-amd64" + shell: bash + run: | + TEA_DIR=$(mktemp -d -t tmp.XXXX) + pushd $TEA_DIR + wget "$TEA_DL_URL" + wget "${TEA_DL_URL}.sha256" + if $(sha256sum --quiet -c "tea-0.9.2-linux-amd64.sha256"); then + mv "tea-0.9.2-linux-amd64" /usr/bin/tea + chmod +x /usr/bin/tea + popd + rm -rf $TEA_DIR + else + popd + rm -rf $TEA_DIR + echo "::error title=⛔ error hint::Tea v0.9.2 Checksum Failed" + exit 1 + fi - uses: https://code.forgejo.org/actions/checkout@v6 - - name: Set up Nix uses: https://github.com/cachix/install-nix-action@v31 with: @@ -27,15 +46,65 @@ jobs: - name: Run nix flake update run: nix flake update - - name: Run nix flake check - run: nix flake check --all-systems --verbose - - name: Create Gitea PR - uses: https://github.com/Mai0313/create-pull-request@main - with: - github-server-url: https://git.dynamicdiscord.de - token: ${{ secrets.AHTLONS_GITEA_TOKEN }} - commit-message: 'Update flake.lock' - committer: 'malobot ' - title: 'Update flake.lock' - assignees: 'ahtlon' + - name: Commit flake.lock + run: | + git config user.name "malobot" + git config user.email "malobot@systemli.org" + git stash push + git branch nixpkgs_bump_$(date +%Y%m%d) + git checkout nixpkgs_bump_$(date +%Y%m%d) + git stash pop + git add flake.lock + git diff --staged --quiet || git commit -m "Update flake.lock" + + - name: Check for eval warnings + id: commit + shell: bash + run: | + { + echo "COMMIT_DESC<&1 | grep evaluation | awk '!seen[$0]++' || echo "None :)" + echo EOF + } >> "$GITHUB_OUTPUT" + + + - name: Login to Gitea + shell: bash + env: + GIT_SERVER_URL: https://git.dynamicdiscord.de + GIT_SERVER_TOKEN: ${{ secrets.AHTLONS_GITEA_TOKEN }} + run: >- + tea login add + -u "$GIT_SERVER_URL" + -t "$GIT_SERVER_TOKEN" + - name: Check for existing pull request + id: no-pr + continue-on-error: true + shell: bash + run: >- + tea pr -f head -o simple | + grep -q ${{ github.ref_name }} && + exit 1 || + exit 0 + - name: Force push branch + run: git push --force -u origin nixpkgs_bump_$(date +%Y%m%d) + - name: Create pull request + if: steps.no-pr.outcome == 'success' + env: + COMMIT_MSG: Automatic Nixpkgs update + COMMIT_DESC: ${{ steps.commit.outputs.COMMIT_DESC }} + shell: bash + run: >- + tea pr create + -L "bump" + -t "$COMMIT_MSG" + -d "$COMMIT_DESC" + - name: Skip pull request + if: steps.no-pr.outcome == 'failure' + shell: bash + run: > + echo "::error title=⛔ error hint:: + A PR already exists for this branch: ${{ github.ref_name }}" \ No newline at end of file