name: OpenIM Server Release on: push: # run only against tags tags: - '*' permissions: contents: write packages: write issues: write jobs: goreleaser: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - run: git fetch --force --tags - uses: actions/setup-go@v4 with: go-version: stable # More assembly might be required: Docker logins, GPG, etc. It all depends # on your needs. - uses: goreleaser/goreleaser-action@v4 with: # either 'goreleaser' (default) or 'goreleaser-pro': distribution: goreleaser version: latest args: release --clean env: GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }} # Your GoReleaser Pro key, if you are using the 'goreleaser-pro' # distribution: # GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} goreleaser-check-pkgs: runs-on: ubuntu-latest env: DOCKER_CLI_EXPERIMENTAL: "enabled" needs: [ goreleaser ] if: github.ref == 'refs/heads/main' strategy: matrix: format: [ deb, rpm, apk ] steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3 with: fetch-depth: 0 - uses: arduino/setup-task@e26d8975574116b0097a1161e0fe16ba75d84c1c # v1 with: version: 3.x repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # v2 - uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3 with: path: | ./_output/dist/*.deb ./_output/dist/*.rpm ./_output/dist/*.apk key: ${{ github.ref }} - run: task goreleaser:test:${{ matrix.format }}