name: CI on: push: branches: - "master" pull_request: env: GOLANGCILINT_VERSION: 1.46.2 jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/setup-go@v3 with: go-version: 1.18.3 - uses: actions/checkout@v3 - uses: golangci/golangci-lint-action@v3 with: version: v${{ env.GOLANGCILINT_VERSION }} test: strategy: matrix: include: - os: ubuntu-latest goarch: amd64 go_test_race_flags: -race # build and test on 32 bit, does not support race - os: ubuntu-latest goarch: "386" go_test_race_flags: "" - os: macos-latest goarch: amd64 go_test_race_flags: -race - os: windows-latest goarch: amd64 go_test_race_flags: -race runs-on: ${{ matrix.os }} steps: # only run cli binary tests on linux - name: Install expect if: ${{ matrix.os == 'ubuntu-latest' }} run: sudo apt-get install expect - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: go-version: 1.18.3 - name: Test env: GOARCH: ${{ matrix.goarch }} GO_TEST_RACE_FLAGS: ${{ matrix.go_test_race_flags }} run: make test