name: test on: pull_request: branches: - "*" push: branches: - "*" jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: go_version: - '1.18' - '1.19' - '1.20' - tip name: Test with ${{ matrix.go_version }} steps: - uses: actions/checkout@v2 - name: Install Go ${{ matrix.go_version }} if: ${{ matrix.go_version != 'tip' }} uses: actions/setup-go@master with: go-version: ${{ matrix.go_version }} check-latest: true - name: Install Go ${{ matrix.go_version }} if: ${{ matrix.go_version == 'tip' }} run: | curl -sL https://storage.googleapis.com/go-build-snap/go/linux-amd64/$(git ls-remote https://github.com/golang/go.git HEAD | awk '{print $1;}').tar.gz -o gotip.tar.gz ls -lah gotip.tar.gz mkdir -p ~/sdk/gotip tar -C ~/sdk/gotip -xzf gotip.tar.gz echo "PATH=$HOME/go/bin:$HOME/sdk/gotip/bin/:$PATH" >> $GITHUB_ENV - name: Vet and test run: | go version go vet ./... go test ./... golangci: name: Linting runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-go@master with: go-version: '1.20' check-latest: true - name: golangci-lint uses: golangci/golangci-lint-action@v2 with: version: latest skip-go-installation: true args: "--config .golangci.yml"