github.com/minio/minio@v0.0.0-20240328213742-3f72439b8a27/.github/workflows/go-lint.yml (about)

     1  name: Linters and Tests
     2  
     3  on:
     4    pull_request:
     5      branches:
     6      - master
     7      - next
     8  
     9  # This ensures that previous jobs for the PR are canceled when the PR is
    10  # updated.
    11  concurrency: 
    12    group: ${{ github.workflow }}-${{ github.head_ref }}
    13    cancel-in-progress: true
    14  
    15  permissions:
    16    contents: read
    17  
    18  jobs:
    19    build:
    20      name: Go ${{ matrix.go-version }} on ${{ matrix.os }}
    21      runs-on: ${{ matrix.os }}
    22      strategy:
    23        matrix:
    24          go-version: [1.21.x]
    25          os: [ubuntu-latest, windows-latest]
    26      steps:
    27        - uses: actions/checkout@v3
    28        - uses: actions/setup-go@v3
    29          with:
    30            go-version: ${{ matrix.go-version }}
    31            check-latest: true
    32        - name: Build on ${{ matrix.os }}
    33          if: matrix.os == 'windows-latest'
    34          env:
    35            CGO_ENABLED: 0
    36            GO111MODULE: on
    37          run: |
    38            netsh int ipv4 set dynamicport tcp start=60000 num=61000
    39            go build --ldflags="-s -w" -o %GOPATH%\bin\minio.exe
    40            go test -v --timeout 50m ./...
    41        - name: Build on ${{ matrix.os }}
    42          if: matrix.os == 'ubuntu-latest'
    43          env:
    44            CGO_ENABLED: 0
    45            GO111MODULE: on
    46          run: |
    47            sudo apt install jq -y
    48            sudo sysctl net.ipv6.conf.all.disable_ipv6=0
    49            sudo sysctl net.ipv6.conf.default.disable_ipv6=0
    50            make
    51            make test
    52            make test-race