Publish to AUR #2
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish to AUR | |
| on: | |
| release: | |
| types: [released] | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: "Version to publish (e.g. 2.9.2 — no v prefix)" | |
| required: true | |
| type: string | |
| dry_run: | |
| description: "Skip the AUR push (safe test)" | |
| type: boolean | |
| default: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| get-release-info: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| version: ${{ steps.info.outputs.version }} | |
| deb_sha256: ${{ steps.hashes.outputs.deb_sha256 }} | |
| jar_sha256: ${{ steps.hashes.outputs.jar_sha256 }} | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@6c3c2f2c1c457b00c10c4848d6f5491db3b629df # v2.18.0 | |
| with: | |
| egress-policy: audit | |
| - name: Extract version from tag or manual input | |
| id: info | |
| env: | |
| DISPATCH_VERSION: ${{ inputs.version }} | |
| RELEASE_TAG: ${{ github.event.release.tag_name }} | |
| run: | | |
| if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then | |
| VERSION="$DISPATCH_VERSION" | |
| else | |
| VERSION="$RELEASE_TAG" | |
| fi | |
| VERSION="${VERSION#v}" | |
| echo "version=$VERSION" >> "$GITHUB_OUTPUT" | |
| - name: Download release assets and compute SHA256 | |
| id: hashes | |
| env: | |
| VERSION: ${{ steps.info.outputs.version }} | |
| run: | | |
| BASE="https://github.com/Stirling-Tools/Stirling-PDF/releases/download/v${VERSION}" | |
| download_sha256() { | |
| local url="$1" | |
| local file | |
| file=$(basename "$url") | |
| curl -fsSL --retry 3 -o "$file" "$url" | |
| sha256sum "$file" | awk '{print $1}' | |
| } | |
| DEB_SHA=$(download_sha256 "${BASE}/Stirling-PDF-linux-x86_64.deb") | |
| JAR_SHA=$(download_sha256 "${BASE}/Stirling-PDF-with-login.jar") | |
| echo "deb_sha256=$DEB_SHA" >> "$GITHUB_OUTPUT" | |
| echo "jar_sha256=$JAR_SHA" >> "$GITHUB_OUTPUT" | |
| publish-aur: | |
| needs: get-release-info | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@v2 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout repository (for PKGBUILD templates) | |
| uses: actions/checkout@v4 | |
| - name: Update stirling-pdf-bin PKGBUILD | |
| env: | |
| VERSION: ${{ needs.get-release-info.outputs.version }} | |
| DEB_SHA: ${{ needs.get-release-info.outputs.deb_sha256 }} | |
| run: | | |
| PKGBUILD=".github/aur/stirling-pdf-bin/PKGBUILD" | |
| sed -i "s/^pkgver=.*/pkgver=${VERSION}/" "$PKGBUILD" | |
| sed -i "s/^pkgrel=.*/pkgrel=1/" "$PKGBUILD" | |
| sed -i "s/'PLACEHOLDER_DEB_SHA256'/'${DEB_SHA}'/" "$PKGBUILD" | |
| - name: Update stirling-pdf-server-bin PKGBUILD | |
| env: | |
| VERSION: ${{ needs.get-release-info.outputs.version }} | |
| JAR_SHA: ${{ needs.get-release-info.outputs.jar_sha256 }} | |
| run: | | |
| PKGBUILD=".github/aur/stirling-pdf-server-bin/PKGBUILD" | |
| sed -i "s/^pkgver=.*/pkgver=${VERSION}/" "$PKGBUILD" | |
| sed -i "s/^pkgrel=.*/pkgrel=1/" "$PKGBUILD" | |
| sed -i "s/'PLACEHOLDER_JAR_SHA256'/'${JAR_SHA}'/" "$PKGBUILD" | |
| - name: Show updated PKGBUILDs (for dry-run visibility) | |
| run: | | |
| echo "--- stirling-pdf-bin PKGBUILD ---" | |
| cat .github/aur/stirling-pdf-bin/PKGBUILD | |
| echo "" | |
| echo "--- stirling-pdf-server-bin PKGBUILD ---" | |
| cat .github/aur/stirling-pdf-server-bin/PKGBUILD | |
| - name: Publish stirling-pdf-bin to AUR | |
| if: ${{ github.event_name == 'release' || inputs.dry_run == false }} | |
| uses: KSXGitHub/github-actions-deploy-aur@2ac5a4c1d7035885d46b10e3193393be8460b6f1 # v4.1.1 | |
| with: | |
| pkgname: stirling-pdf-bin | |
| pkgbuild: .github/aur/stirling-pdf-bin/PKGBUILD | |
| commit_username: Stirling PDF Inc | |
| commit_email: contact@stirlingpdf.com | |
| ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} | |
| commit_message: "Update to v${{ needs.get-release-info.outputs.version }}" | |
| - name: Publish stirling-pdf-server-bin to AUR | |
| if: ${{ github.event_name == 'release' || inputs.dry_run == false }} | |
| uses: KSXGitHub/github-actions-deploy-aur@v4.1.1 | |
| with: | |
| pkgname: stirling-pdf-server-bin | |
| pkgbuild: .github/aur/stirling-pdf-server-bin/PKGBUILD | |
| commit_username: Stirling PDF Inc | |
| commit_email: contact@stirlingpdf.com | |
| ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} | |
| commit_message: "Update to v${{ needs.get-release-info.outputs.version }}" |