1name: build
2
3on: [push, pull_request]
4
5jobs:
6 build:
7 strategy:
8 matrix:
9 go-version: [~1.17, ^1]
10 os: [ubuntu-latest, macos-latest, windows-latest]
11 runs-on: ${{ matrix.os }}
12 env:
13 GO111MODULE: "on"
14 steps:
15 - name: Install Go
16 uses: actions/setup-go@v2
17 with:
18 go-version: ${{ matrix.go-version }}
19
20 - name: Checkout code
21 uses: actions/checkout@v2
22
23 - name: Download Go modules
24 run: go mod download
25
26 - name: Build
27 run: go build -v ./...
28
29 - name: Test
30 run: go test ./...
31
32 goreleaser:
33 env:
34 GO111MODULE: "on"
35 DOCKER_CLI_EXPERIMENTAL: enabled
36 runs-on: ubuntu-latest
37 steps:
38 - uses: actions/setup-go@v2
39 with:
40 go-version: "~1.17"
41 - uses: actions/checkout@v2
42 - uses: anchore/sbom-action/download-syft@v0.6.0
43 - uses: docker/setup-qemu-action@v1
44 - uses: docker/setup-buildx-action@v1
45 - uses: goreleaser/goreleaser-action@v2
46 with:
47 distribution: goreleaser-pro
48 version: latest
49 args: --snapshot --skip-sign
50 env:
51 GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}