name: Pull Request on: workflow_dispatch: {} pull_request: branches: - main jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v4 with: go-version: 1.18.x - uses: dominikh/staticcheck-action@ba605356b4b29a60e87ab9404b712f3461e566dc #v1.3.0 with: version: "2022.1.1" install-go: "false" # StaticCheck uses go v1.17 which does not support `any` test: name: Test strategy: fail-fast: false matrix: go-version: - 1.18.x platform: - macos-latest - windows-latest - ubuntu-latest runs-on: ${{ matrix.platform }} steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v4 with: go-version: 1.18.x - name: Run tests run: | go test -v -coverprofile coverage.out -covermode atomic ./... - name: Publish coverage uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} build: name: Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v4 with: go-version: 1.18.x - name: Build uses: goreleaser/goreleaser-action@f82d6c1c344bcacabba2c841718984797f664a6b #v3 with: version: v0.155.0 args: --snapshot --skip-publish --debug