github.com/KEINOS/go-countline@v1.1.0/.github/workflows/platform-test.yaml (about)

     1  # This workflow runs the unit test (`go test ./...`) on vaious platforms,
     2  # such as: Linux, macOS and Windows.
     3  name: Test on macOS/Win/Linux
     4  
     5  on:
     6    workflow_dispatch:
     7    pull_request:
     8      branches:
     9        - main
    10  
    11  jobs:
    12    coverage:
    13      name: Platform test
    14  
    15      strategy:
    16        matrix:
    17          platform: [ubuntu-latest, macos-latest, windows-latest]
    18  
    19      runs-on: ${{ matrix.platform }}
    20  
    21      steps:
    22        - uses: actions/checkout@v3
    23  
    24        - uses: actions/setup-go@v3
    25          with:
    26            go-version: '^1.16'
    27  
    28        - name: Use Cache
    29          uses: actions/cache@v3
    30          with:
    31            path: ~/go/pkg/mod
    32            key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
    33            restore-keys: |
    34              ${{ runner.os }}-go-
    35  
    36        - name: Download Modules
    37          if: steps.cache.outputs.cache-hit != 'true'
    38          run: go mod download
    39  
    40        - name: Run unit tests
    41          run: |
    42            go mod download
    43            go generate ./...
    44            go test -race ./...