name: Go Release on: push: tags: - 'v*' jobs: release-binary: name: Release Binary runs-on: ubuntu-latest environment: s3 steps: - name: Setup Go uses: actions/setup-go@v3 with: go-version: '^1.20' - name: Check out code into the Go module directory uses: actions/checkout@v3 - name: Cache go module uses: actions/cache@v3 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Get dependencies and run test run: | go test ./... - name: Build if: startsWith(github.ref, 'refs/tags/') env: NAME: nali BINDIR: bin run: make -j releases && make sha256sum - name: Upload Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: files: bin/* draft: true prerelease: true - uses: actions/upload-artifact@v3 if: startsWith(github.ref, 'refs/tags/') with: name: build path: bin - name: Upload to s3 if: startsWith(github.ref, 'refs/tags/') run: sh .github/scripts/upload_s3.sh env: S3_BUCKET: ${{ secrets.S3_BUCKET }} S3_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY_ID }} S3_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_ACCESS_KEY }} S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }} release-aur-bin: name: Release Aur bin needs: [release-binary] runs-on: ubuntu-latest steps: - name: Get version id: version run: echo ::set-output name=version::${GITHUB_REF##*/v} - name: Publish AUR package nali-go-bin uses: zu1k/aur-publish-action@master with: package_name: nali-go-bin commit_username: 'zu1k' commit_email: 'i@zu1k.com' ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} new_release: ${{ steps.version.outputs.version }} release-aur: name: Release Aur runs-on: ubuntu-latest steps: - name: Get version id: version run: echo ::set-output name=version::${GITHUB_REF##*/v} - name: Publish AUR package nali-go uses: zu1k/aur-publish-action@master with: package_name: nali-go commit_username: 'zu1k' commit_email: 'i@zu1k.com' ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} new_release: ${{ steps.version.outputs.version }}