name: Tagged Release on: push: tags: - "*" workflow_dispatch: permissions: contents: write jobs: tagged-release: name: "Tagged Release" runs-on: "ubuntu-latest" steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Go uses: actions/setup-go@v4 with: go-version: "1.23" - name: Setup NodeJS uses: actions/setup-node@v4 with: node-version: "20" - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 9 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Run GoReleaser uses: goreleaser/goreleaser-action@v5 with: distribution: goreleaser version: latest args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} HOMEBREW_GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_TOKEN }} - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: release-artifacts path: dist/* tagged-release-installers: name: "Tagged Release Installers" runs-on: "ubuntu-latest" needs: tagged-release steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # download dist artifacts from previous job - name: Download Artifacts uses: actions/download-artifact@v4 with: name: release-artifacts path: dist - name: Generate Installers run: | mkdir -p dist-installers ./scripts/generate-installers.sh ./dist-installers - name: Upload Assets uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: files: | ./dist-installers/Backrest-setup-x86_64.exe ./dist-installers/Backrest-setup-arm64.exe