|
@@ -0,0 +1,39 @@
|
|
|
+on: [push, pull_request]
|
|
|
+name: Build
|
|
|
+jobs:
|
|
|
+ test:
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ go-version: [1.20.x, 1.21.x]
|
|
|
+ os: [ubuntu-latest, macos-latest]
|
|
|
+ runs-on: ${{ matrix.os }}
|
|
|
+ steps:
|
|
|
+ - name: Install Go
|
|
|
+ uses: actions/setup-go@v4
|
|
|
+ with:
|
|
|
+ stable: 'false'
|
|
|
+ go-version: ${{ matrix.go-version }}
|
|
|
+ - name: Checkout code
|
|
|
+ uses: actions/checkout@v3
|
|
|
+ - name: Test
|
|
|
+ run: go test
|
|
|
+ test-cache:
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ steps:
|
|
|
+ - name: Install Go
|
|
|
+ uses: actions/setup-go@v4
|
|
|
+ with:
|
|
|
+ go-version: 1.21.x
|
|
|
+ - name: Checkout code
|
|
|
+ uses: actions/checkout@v3
|
|
|
+ - uses: actions/cache@v2
|
|
|
+ with:
|
|
|
+ path: |
|
|
|
+ ~/go/pkg/mod # Module download cache
|
|
|
+ ~/.cache/go-build # Build cache (Linux)
|
|
|
+ ~/Library/Caches/go-build # Build cache (Mac)
|
|
|
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
|
+ restore-keys: |
|
|
|
+ ${{ runner.os }}-go-
|
|
|
+ - name: Test
|
|
|
+ run: go test ./...
|