name: Linters and Tests on: pull_request: branches: - master # This ensures that previous jobs for the PR are canceled when the PR is # updated. concurrency: group: ${{ github.workflow }}-${{ github.head_ref }} cancel-in-progress: true permissions: contents: read jobs: build: name: Go ${{ matrix.go-version }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: go-version: [1.20.x, 1.19.x] os: [ubuntu-latest, windows-latest] exclude: - os: ubuntu-latest go-version: 1.19.x - os: windows-latest go-version: 1.20.x steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} check-latest: true - name: Build on ${{ matrix.os }} if: matrix.os == 'windows-latest' env: CGO_ENABLED: 0 GO111MODULE: on run: | netsh int ipv4 set dynamicport tcp start=60000 num=61000 go build --ldflags="-s -w" -o %GOPATH%\bin\minio.exe go test -v --timeout 50m ./... - name: Build on ${{ matrix.os }} if: matrix.os == 'ubuntu-latest' env: CGO_ENABLED: 0 GO111MODULE: on run: | sudo apt install jq -y sudo sysctl net.ipv6.conf.all.disable_ipv6=0 sudo sysctl net.ipv6.conf.default.disable_ipv6=0 make make test make test-race