--- name: CI on: push: tags: - v* branches: - master pull_request: jobs: # We already run the current golangci-lint in tests, but here we test # our GitHub action with the latest stable golangci-lint. golangci-lint: name: golangci-lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: lint uses: golangci/golangci-lint-action@v0.2.0 with: version: v1.26 tests-on-windows: needs: golangci-lint # run after golangci-lint action to not produce duplicated errors runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Install Go uses: actions/setup-go@v2 with: go-version: 1.14 # test only the latest go version to speed up CI - name: Run tests on Windows run: make.exe test continue-on-error: true tests-on-unix: needs: golangci-lint # run after golangci-lint action to not produce duplicated errors runs-on: ${{ matrix.os }} strategy: matrix: golang: - 1.13 - 1.14 os: - ubuntu-latest include: - os: macos-latest # test only the one go version on Mac OS to speed up CI # TODO: use the latet go version after https://github.com/golang/go/issues/38824 golang: 1.13 steps: - uses: actions/checkout@v2 - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.golang }} - uses: actions/cache@v1 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ matrix.golang }}-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go-${{ matrix.golang }}- - name: Run tests on Unix-like operating systems run: make test check_generated: needs: golangci-lint # run after golangci-lint action to not produce duplicated errors runs-on: ubuntu-latest env: # needed for github-action-config.json generation GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - uses: actions/checkout@v2 - name: Unshallow run: git fetch --prune --unshallow - name: Install Go uses: actions/setup-go@v2 with: go-version: 1.14 - name: Check if README.md is up to date run: make check_generated