go.yml 917 字节
Newer Older
xurime's avatar
xurime 已提交
1 2 3 4 5 6 7
on: [push, pull_request]
name: build
jobs:

  test:
    strategy:
      matrix:
8
        go-version: [1.18.x, 1.19.x, 1.20.x, '>=1.21.1']
xurime's avatar
xurime 已提交
9 10 11 12 13 14 15 16
        os: [ubuntu-latest, macos-latest, windows-latest]
        targetplatform: [x86, x64]

    runs-on: ${{ matrix.os }}

    steps:

    - name: Install Go
17
      uses: actions/setup-go@v5
xurime's avatar
xurime 已提交
18 19 20 21
      with:
        go-version: ${{ matrix.go-version }}

    - name: Checkout code
22
      uses: actions/checkout@v4
xurime's avatar
xurime 已提交
23 24 25 26 27 28 29 30

    - name: Get dependencies
      run: |
        env GO111MODULE=on go vet ./...
    - name: Build
      run: go build -v .

    - name: Test
31
      run: env GO111MODULE=on go test -v -timeout 30m -race ./... -coverprofile=coverage.txt -covermode=atomic
xurime's avatar
xurime 已提交
32 33

    - name: Codecov
34
      uses: codecov/codecov-action@v4
35 36
      env:
        CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
xurime's avatar
xurime 已提交
37 38 39 40
      with:
        file: coverage.txt
        flags: unittests
        name: codecov-umbrella