name: Release Standalone Builder on: release: types: [published] jobs: build: runs-on: local steps: - name: Checkout repository uses: actions/checkout@v4 - name: Build standalone executable run: | chmod +x tools/build-standalone.sh ./tools/build-standalone.sh - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.21' - name: Upload Release Asset uses: https://gitea.com/actions/release-action@main with: files: |- kewt api_key: '${{secrets.GITEA_TOKEN}}' - name: Push to GitHub Release run: | TAG="${GITHUB_REF#refs/tags/}" # Create the release on GitHub curl -sL -X POST \ -H "Authorization: token ${{ secrets.GH_RELEASE_TOKEN }}" \ -H "Accept: application/vnd.github+json" \ "https://api.github.com/repos/n0va-bot/kewt/releases" \ -d "{\"tag_name\":\"${TAG}\",\"name\":\"${TAG}\",\"draft\":false,\"prerelease\":false}" || true # Get the release ID RELEASE_ID=$(curl -sL \ -H "Authorization: token ${{ secrets.GH_RELEASE_TOKEN }}" \ -H "Accept: application/vnd.github+json" \ "https://api.github.com/repos/n0va-bot/kewt/releases/tags/${TAG}" | jq -r '.id') # Upload the asset curl -sL -X POST \ -H "Authorization: token ${{ secrets.GH_RELEASE_TOKEN }}" \ -H "Content-Type: application/octet-stream" \ "https://uploads.github.com/repos/n0va-bot/kewt/releases/${RELEASE_ID}/assets?name=kewt" \ --data-binary @kewt publish-aur: runs-on: local needs: build steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Arch Linux environment run: | sudo apt-get update sudo apt-get install -y pacman-package-manager curl jq || true - name: Render PKGBUILD and SRCINFO run: | VERSION=${GITHUB_REF#refs/tags/v} VERSION=${VERSION#refs/tags/} curl -sL -o kewt https://git.krzak.org/N0VA/kewt/releases/download/v${VERSION}/kewt CHECKSUM=$(sha256sum kewt | awk '{print $1}') mkdir -p aur-work sed -e "s/VERSION_PLACEHOLDER/${VERSION}/g" \ -e "s/SHA256SUM_PLACEHOLDER/${CHECKSUM}/g" \ packaging/AUR/PKGBUILD.template > aur-work/PKGBUILD cat > aur-work/.SRCINFO << SRCEOF pkgbase = kewt-bin pkgdesc = A minimalist, 100% POSIX static site generator inspired by werc and kew pkgver = ${VERSION} pkgrel = 1 url = https://git.krzak.org/N0VA/kewt arch = any license = MIT depends = sh provides = kewt conflicts = kewt conflicts = kewt-git source = kewt-bin-${VERSION}.sh::https://git.krzak.org/N0VA/kewt/releases/download/v${VERSION}/kewt sha256sums = ${CHECKSUM} pkgname = kewt-bin SRCEOF # Remove leading whitespace from heredoc sed -i 's/^ //' aur-work/.SRCINFO - name: Publish to AUR uses: KSXGitHub/github-actions-deploy-aur@v3.0.1 with: pkgname: kewt-bin pkgbuild: ./aur-work/PKGBUILD commit_username: ${{ github.actor }} commit_email: ${{ github.actor }}@users.noreply.github.com ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} commit_message: "Update kewt-bin to ${{ github.ref_name }}"