From eaa7a998cefa0eda002fbe2359271c6b3d5e86c4 Mon Sep 17 00:00:00 2001 From: Marc Font <36164126+Marketen@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:11:06 +0200 Subject: [PATCH] add release.yml (#62) --- .github/workflows/release.yml | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..5fe425d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,58 @@ +name: Release Listener Binary + +on: + workflow_dispatch: + inputs: + tag: + description: "Tag of the release (i.e., 0.1.0)" + required: true + +jobs: + build-and-push: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.22.0' + + - name: Build listener + run: | + cd ./listener + go build -a -installsuffix cgo -o bin/listener ./cmd/listener + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v3 + with: + context: ./listener + file: ./listener/Dockerfile + push: true + tags: ghcr.io/${{ github.repository_owner }}/listener:${{ github.event.inputs.tag }} + + create-github-release: + runs-on: ubuntu-latest + needs: build-and-push + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Create GitHub Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.event.inputs.tag }} + release_name: Release v${{ github.event.inputs.tag }} + draft: false + prerelease: false