name: Release on: push: tags: - 'v*' jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install system dependencies run: | sudo apt-get update -q sudo apt-get install -y \ libgtk-3-dev \ libgstreamer1.0-dev \ libgstreamer-plugins-base1.0-dev \ libgstreamer-plugins-bad1.0-dev \ gstreamer1.0-plugins-good \ libpam0g-dev \ ninja-build \ meson \ libglib2.0-dev - name: Install Rust stable uses: dtolnay/rust-toolchain@stable - name: Compute source tarball SHA256 run: | SHA256=$(curl -fsSL \ "https://gitea.weircon.dk/agw/gtk-ahfail/archive/${{ github.ref_name }}.tar.gz" \ | sha256sum | cut -d' ' -f1) echo "SOURCE_SHA256=${SHA256}" >> $GITHUB_ENV - name: Build release run: | meson setup builddir --buildtype=release meson compile -C builddir - name: Bundle artifacts run: | mkdir -p dist cp builddir/ahfail-module.so dist/ cp builddir/libahfail_pam.so dist/ cp builddir/ahfail-display dist/ tar czf ahfail-linux-x86_64.tar.gz -C dist . - name: Upload release asset # Requires a GITEA_TOKEN secret with write:repository scope. # Create it in repo Settings → Secrets. uses: https://gitea.com/actions/gitea-release-action@v1 with: token: ${{ secrets.GITEA_TOKEN }} server_url: ${{ github.server_url }} tag_name: ${{ github.ref_name }} name: ${{ github.ref_name }} files: ahfail-linux-x86_64.tar.gz - name: Update Homebrew tap env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} TAG: ${{ github.ref_name }} run: | set -euo pipefail git clone \ "https://oauth2:${GITEA_TOKEN}@gitea.weircon.dk/agw/homebrew-ahfail.git" \ tap cd tap sed -i "s|url \".*\"|url \"https://gitea.weircon.dk/agw/gtk-ahfail/archive/${TAG}.tar.gz\"|" Formula/ahfail.rb sed -i "s|sha256 \".*\"|sha256 \"${SOURCE_SHA256}\"|" Formula/ahfail.rb git config user.email "actions@weircon.dk" git config user.name "Gitea Actions" git add Formula/ahfail.rb git diff --cached --quiet || git commit -m "chore: update ahfail to ${TAG}" git push