name: Release on: push: branches: - '**' tags-ignore: - '**' workflow_dispatch: jobs: test: runs-on: ubuntu-18.04 strategy: matrix: go: ['1.14', '1.15', '1.16'] name: Go ${{ matrix.go }} test steps: - uses: actions/checkout@v2 - name: Setup go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go }} - run: go test -race -v -coverprofile=profile.cov ./pkg/... - uses: codecov/codecov-action@v1 with: file: ./profile.cov name: codecov-go release: runs-on: ubuntu-18.04 needs: [test] if: ${{ github.event_name == 'workflow_dispatch' || github.ref == 'refs/heads/main' }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Source checkout uses: actions/checkout@v2 - name: Semantic Release uses: cycjimmy/semantic-release-action@v2 with: dry_run: false semantic_version: 17.0.4 extra_plugins: | @semantic-release/exec@5.0.0