...

Text file src/moul.io/http2curl/v2/.github/workflows/go.yml

Documentation: moul.io/http2curl/v2/.github/workflows

     1name: Go
     2on:
     3  push:
     4    tags:
     5      - v*
     6    branches:
     7      - master
     8    paths:
     9      - '**.go'
    10      - ".goreleaser.yml"
    11      - ".golangci.yml"
    12      - ".dockerignore"
    13      - "Makefile"
    14      - "rules.mk"
    15      - "go.*"
    16      - ".github/workflows/go.yml"
    17  pull_request:
    18    paths:
    19      - '**.go'
    20      - ".goreleaser.yml"
    21      - ".golangci.yml"
    22      - ".dockerignore"
    23      - "Makefile"
    24      - "rules.mk"
    25      - "go.*"
    26      - ".github/workflows/go.yml"
    27
    28jobs:
    29  golangci-lint:
    30    runs-on: ubuntu-latest
    31    steps:
    32      - uses: actions/checkout@v3
    33      - name: golangci-lint
    34        uses: golangci/golangci-lint-action@v3.1.0
    35        with:
    36          version: v1.38
    37          #github-token: ${{ secrets.GITHUB_TOKEN }}
    38          args: --timeout=2m
    39          only-new-issues: false
    40          working-directory: .
    41  tests-on-windows:
    42    needs: golangci-lint # run after golangci-lint action to not produce duplicated errors
    43    runs-on: windows-latest
    44    strategy:
    45      matrix:
    46        golang:
    47          - 1.16.x
    48    steps:
    49      - uses: actions/checkout@v3
    50      - name: Install Go
    51        uses: actions/setup-go@v2
    52        with:
    53          go-version: ${{ matrix.golang }}
    54      - name: Run tests on Windows
    55        run: make.exe unittest
    56        continue-on-error: true
    57  tests-on-mac:
    58    needs: golangci-lint # run after golangci-lint action to not produce duplicated errors
    59    runs-on: macos-latest
    60    strategy:
    61      matrix:
    62        golang:
    63          - 1.16.x
    64    env:
    65      OS: macos-latest
    66      GOLANG: ${{ matrix.golang }}
    67    steps:
    68      - uses: actions/checkout@v3
    69      - name: Install Go
    70        uses: actions/setup-go@v2
    71        with:
    72          go-version: ${{ matrix.golang }}
    73      - uses: actions/cache@v2.1.7
    74        with:
    75          path: ~/go/pkg/mod
    76          key: ${{ runner.os }}-go-${{ matrix.golang }}-${{ hashFiles('**/go.sum') }}
    77          restore-keys: |
    78            ${{ runner.os }}-go-${{ matrix.golang }}-
    79      - name: Run tests on Unix-like operating systems
    80        run: make unittest
    81      - name: Check go.mod and go.sum
    82        run: |
    83          go mod tidy -v
    84          git --no-pager diff go.mod go.sum
    85          git --no-pager diff --quiet go.mod go.sum
    86      - name: Upload coverage to Codecov
    87        uses: codecov/codecov-action@v2.1.0
    88        with:
    89          #token: ${{ secrets.CODECOV_TOKEN }}
    90          file: ./coverage.txt
    91          flags: unittests
    92          env_vars: OS,GOLANG
    93          name: codecov-umbrella
    94          fail_ci_if_error: false
    95  tests-on-linux:
    96    needs: golangci-lint # run after golangci-lint action to not produce duplicated errors
    97    runs-on: ubuntu-latest
    98    strategy:
    99      matrix:
   100        golang:
   101          - 1.14.x
   102          - 1.15.x
   103          - 1.16.x
   104    env:
   105      OS: ubuntu-latest
   106      GOLANG: ${{ matrix.golang }}
   107    steps:
   108      - uses: actions/checkout@v3
   109      - name: Install Go
   110        uses: actions/setup-go@v2
   111        with:
   112          go-version: ${{ matrix.golang }}
   113      - uses: actions/cache@v2.1.7
   114        with:
   115          path: ~/go/pkg/mod
   116          key: ${{ runner.os }}-go-${{ matrix.golang }}-${{ hashFiles('**/go.sum') }}
   117          restore-keys: |
   118            ${{ runner.os }}-go-${{ matrix.golang }}-
   119      - name: Check go.mod and go.sum
   120        run: |
   121          go mod tidy -v
   122          git --no-pager diff go.mod go.sum
   123          git --no-pager diff --quiet go.mod go.sum
   124      - name: Run tests on Unix-like operating systems
   125        run: make unittest
   126      - name: Upload coverage to Codecov
   127        uses: codecov/codecov-action@v2.1.0
   128        with:
   129          #token: ${{ secrets.CODECOV_TOKEN }}
   130          file: ./coverage.txt
   131          flags: unittests
   132          env_vars: OS,GOLANG
   133          name: codecov-umbrella
   134          fail_ci_if_error: false

View as plain text