From 37bfd97d93dc539369e6190eb951143c413fb493 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sun, 7 Dec 2025 10:36:03 +0100 Subject: [PATCH] git: Make release CI more reliable --- .github/workflows/release.yml | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d1550ce64..9060fe86e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,6 +7,12 @@ on: release: types: [published] workflow_dispatch: + inputs: + commit_hash: + type: string + description: 'The commit hash to build (defaults to the latest commit on the default branch)' + required: false + default: '' jobs: release-update-repos: @@ -41,6 +47,7 @@ jobs: tag: ImHex-v${{ env.IMHEX_VERSION }} repo: PatternLanguage token: ${{ secrets.RELEASE_TOKEN }} + skipIfReleaseExists: true - name: 🎫 Create ImHex-Patterns release uses: ncipollo/release-action@v1 @@ -51,6 +58,7 @@ jobs: tag: ImHex-v${{ env.IMHEX_VERSION }} repo: ImHex-Patterns token: ${{ secrets.RELEASE_TOKEN }} + skipIfReleaseExists: true - name: 🎫 Create imhex-download-sdk release uses: ncipollo/release-action@v1 @@ -61,6 +69,7 @@ jobs: tag: v${{ env.IMHEX_VERSION }} repo: imhex-download-sdk token: ${{ secrets.RELEASE_TOKEN }} + skipIfReleaseExists: true release-upload-artifacts: runs-on: ubuntu-24.04 @@ -100,6 +109,7 @@ jobs: branch: ${{ github.event.release.target_commitish }} workflow_conclusion: success skip_unpack: true + commit: ${{ github.event.inputs.commit_hash }} - name: 🗜️ Unzip files when needed run: | @@ -173,14 +183,25 @@ jobs: with: files: '*' + release-update-aur: + name: Release update AUR package + needs: release-upload-artifacts + runs-on: ubuntu-24.04 + steps: + - name: ⬇️ Download artifacts + run: | + tagname=${GITHUB_REF#refs/tags/} + version=${tagname#v} + wget https://github.com/WerWolv/ImHex/releases/download/${tagname}/imhex-${version}-ArchLinux-x86_64.pkg.tar.zst + - name: ✒️ Prepare PKGBUILD run: | set -x cp ImHex/dist/Arch/PKGBUILD . - hash=`md5sum imhex-${{ env.IMHEX_VERSION }}-ArchLinux-x86_64.pkg.tar.zst | cut -d ' ' -f 1` + hash=`md5sum imhex-${{ needs.release-upload-artifacts.outputs.IMHEX_VERSION }}-ArchLinux-x86_64.pkg.tar.zst | cut -d ' ' -f 1` - sed -i 's/%version%/${{ env.IMHEX_VERSION }}/g' PKGBUILD + sed -i 's/%version%/${{ needs.release-upload-artifacts.outputs.IMHEX_VERSION }}/g' PKGBUILD sed -i "s/(SKIP)/($hash)/g" PKGBUILD - name: ⬆️ Publish AUR package @@ -196,7 +217,7 @@ jobs: commit_username: iTrooz commit_email: itrooz@protonmail.com ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} - commit_message: Bump to version ${{ env.IMHEX_VERSION }} + commit_message: Bump to version ${{ needs.release-upload-artifacts.outputs.IMHEX_VERSION }} ssh_keyscan_types: rsa,ecdsa,ed25519 release-update-winget: @@ -208,6 +229,7 @@ jobs: shell: pwsh run: | iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe + - name: ⬆️ Update winget manifest shell: pwsh env: