github.com/wI2L/jettison@v0.7.5-0.20230106001914-c70014c6417a/.github/workflows/ci.yml (about)

     1  name: CI
     2  
     3  on:
     4    push:
     5      branches:
     6        - master
     7    pull_request:
     8      branches:
     9        - master
    10  
    11  jobs:
    12    test:
    13      name: Tests
    14      runs-on: ${{ matrix.os }}
    15      strategy:
    16        fail-fast: false
    17        matrix:
    18          go:
    19            - "1.17.x"
    20            - "1.18.x"
    21            - "1.19.x"
    22          os:
    23            - ubuntu-latest
    24            - macos-latest
    25            - windows-latest
    26      steps:
    27        - name: Install Go
    28          uses: actions/setup-go@v2
    29          with:
    30            go-version: ${{ matrix.go }}
    31        - name: Checkout repository
    32          uses: actions/checkout@v2
    33        - name: Run tests
    34          run: ./ci/test.sh
    35        - name: Upload coverage
    36          uses: codecov/codecov-action@v1
    37          with:
    38            file: coverage.txt
    39  
    40    bench:
    41      name: Benchmarks
    42      needs: test
    43      runs-on: ubuntu-latest
    44      strategy:
    45        fail-fast: false
    46        matrix:
    47          go:
    48            - "1.17.x"
    49            - "1.18.x"
    50            - "1.19.x"
    51      steps:
    52        - name: Install Go
    53          uses: actions/setup-go@v2
    54          with:
    55            go-version: ${{ matrix.go }}
    56        - name: Checkout repository
    57          uses: actions/checkout@v2
    58        - name: Install tools
    59          run: go get golang.org/x/perf/cmd/benchstat
    60          env:
    61            GOPROXY: https://proxy.golang.org
    62        - name: Run benchmarks
    63          run: ./ci/bench.sh
    64        - name: Upload statistics
    65          uses: actions/upload-artifact@v2
    66          with:
    67            name: Benchstats-Go${{ matrix.go }}
    68            path: benchstats