50 lines
1.0 KiB
YAML
50 lines
1.0 KiB
YAML
---
|
|
on:
|
|
pull_request: {}
|
|
push:
|
|
branches:
|
|
- "main"
|
|
tags:
|
|
- "v*"
|
|
|
|
env:
|
|
GO_VERSION: "1.16"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: "ubuntu-latest"
|
|
steps:
|
|
- uses: "actions/checkout@v2"
|
|
- uses: "actions/cache@v2"
|
|
with:
|
|
path: "~/go/pkg/mod"
|
|
key: "${{ runner.os }}-gomod-${{ hashFiles('**/go.sum') }}"
|
|
restore-keys: |
|
|
${{ runner.os }}-gomod-
|
|
|
|
- uses: "actions/setup-go@v2"
|
|
with:
|
|
go-version: "${{ env.GO_VERSION }}"
|
|
- run: "go build ./..."
|
|
|
|
lint:
|
|
runs-on: "ubuntu-latest"
|
|
steps:
|
|
- uses: "actions/checkout@v2"
|
|
- uses: "golangci/golangci-lint-action@v2"
|
|
|
|
test:
|
|
needs: "build"
|
|
runs-on: "ubuntu-latest"
|
|
steps:
|
|
- uses: "actions/checkout@v2"
|
|
- uses: "actions/cache@v2"
|
|
with:
|
|
path: "~/go/pkg/mod"
|
|
key: "${{ runner.os }}-gomod-${{ hashFiles('**/go.sum') }}"
|
|
|
|
- uses: "actions/setup-go@v2"
|
|
with:
|
|
go-version: "${{ env.GO_VERSION }}"
|
|
- run: "go test ./..."
|