Skip to content

Add public interface setting and fix CrowdSec bouncer integration. #63

Add public interface setting and fix CrowdSec bouncer integration.

Add public interface setting and fix CrowdSec bouncer integration. #63

name: Release Please
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
release-please:
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.rp.outputs.release_created }}
tag_name: ${{ steps.rp.outputs.tag_name }}
steps:
- id: rp
uses: googleapis/release-please-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
config-file: .github/release-please-config.json
manifest-file: .release-please-manifest.json
# Release Please uses GITHUB_TOKEN, so `release: published` does not trigger other workflows.
# Upload binaries in this workflow when a release is created.
upload-release-assets:
needs: release-please
if: ${{ needs.release-please.outputs.release_created == 'true' }}
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ needs.release-please.outputs.tag_name }}
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache-dependency-path: go.sum
- name: Build binaries and source archive
env:
TAG: ${{ needs.release-please.outputs.tag_name }}
run: |
set -euo pipefail
VERSION="${TAG#v}"
mkdir -p dist
for pair in linux/amd64 linux/arm64; do
GOOS="${pair%%/*}"
GOARCH="${pair##*/}"
out="dist/evuproxy-${VERSION}-linux-${GOARCH}"
GOOS=$GOOS GOARCH=$GOARCH go build -trimpath -ldflags "-s -w -X main.version=${VERSION}" -o "$out" ./cmd/evuproxy
done
git archive --format=zip --prefix="evuproxy-${VERSION}/" -o "dist/evuproxy-${VERSION}-source.zip" "${TAG}"
(cd dist && sha256sum ./* > SHA256SUMS)
- name: Upload release assets
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ needs.release-please.outputs.tag_name }}
run: |
set -euo pipefail
cd dist
gh release upload "${TAG}" \
evuproxy-*-linux-* \
evuproxy-*-source.zip \
SHA256SUMS \
--clobber