Go 1.18 is out! So we should run tests on it. Additionally, gqlgen had some issues with it (see 99designs/gqlgen#1961 and golang/go#45584) so I updated that too, which updated some other things. Finally, latest gqlgen requires 1.16+, and it's time for us to do the same anyway, so we can use `embed` and other newer goodies. So I dropped running tests for 1.14 and 1.15, and bumped the module language version. Test plan: make check
46 lines
829 B
YAML
46 lines
829 B
YAML
name: Go
|
|
|
|
on:
|
|
push:
|
|
branches: [ "*" ]
|
|
pull_request:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
build:
|
|
name: Test
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
go: [ '1.16', '1.17', '1.18' ]
|
|
|
|
steps:
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
id: go
|
|
|
|
- name: Git checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Run tests
|
|
env:
|
|
# Needed for the example-test to run.
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
go test -cover -v ./...
|
|
|
|
lint:
|
|
name: Lint
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Git checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Run lint
|
|
uses: golangci/golangci-lint-action@v2
|
|
with:
|
|
version: v1.42 # should match internal/lint/go.mod
|