80ba835e26
Bump go version to 1.16 and drop the codecov token, which is now documented as not required for public repositories.
105 lines
2.9 KiB
YAML
105 lines
2.9 KiB
YAML
name: Run Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- v1
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
- v1
|
|
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
go: [1.14, 1.15, 1.16]
|
|
name: ${{ matrix.os }} @ Go ${{ matrix.go }}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Set up Go ${{ matrix.go }}
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
|
|
- name: Set GOPATH, PATH and ENV
|
|
run: |
|
|
echo "GOPATH=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV
|
|
echo "GO111MODULE=on" >> $GITHUB_ENV
|
|
echo "GOPROXY=https://proxy.golang.org" >> $GITHUB_ENV
|
|
echo "$(dirname $GITHUB_WORKSPACE)/bin" >> $GITHUB_PATH
|
|
shell: bash
|
|
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
ref: ${{ github.ref }}
|
|
|
|
- name: GOFMT Check
|
|
if: matrix.go == 1.16 && matrix.os == 'ubuntu-latest'
|
|
run: test -z $(gofmt -l .)
|
|
|
|
- name: vet
|
|
run: go run internal/build/build.go vet
|
|
|
|
- name: test
|
|
run: go run internal/build/build.go test
|
|
|
|
- name: check-binary-size
|
|
run: go run internal/build/build.go check-binary-size
|
|
|
|
- name: Upload coverage to Codecov
|
|
if: success() && matrix.go == 1.16 && matrix.os == 'ubuntu-latest'
|
|
uses: codecov/codecov-action@v1
|
|
with:
|
|
fail_ci_if_error: true
|
|
|
|
test-docs:
|
|
name: test-docs
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
# Currently fails on 1.16
|
|
go-version: 1.15
|
|
|
|
- name: Use Node.js 12.x
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 12.x
|
|
|
|
- name: Set GOPATH, PATH and ENV
|
|
run: |
|
|
echo "GOPATH=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV
|
|
echo "GO111MODULE=on" >> $GITHUB_ENV
|
|
echo "GOPROXY=https://proxy.golang.org" >> $GITHUB_ENV
|
|
echo "$(dirname $GITHUB_WORKSPACE)/bin" >> $GITHUB_PATH
|
|
shell: bash
|
|
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
ref: ${{ github.ref }}
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
mkdir -p $GOPATH/bin
|
|
curl -L -o $GOPATH/bin/gfmrun "https://github.com/urfave/gfmrun/releases/download/v1.2.14/gfmrun-$(go env GOOS)-amd64-v1.2.14"
|
|
chmod +x $GOPATH/bin/gfmrun
|
|
npm install -g markdown-toc@1.2.0
|
|
|
|
- name: Run Tests (v1)
|
|
if: contains(github.base_ref, 'v1')
|
|
run: |
|
|
go run internal/build/build.go gfmrun docs/v1/manual.md
|
|
go run internal/build/build.go toc docs/v1/manual.md
|
|
|
|
- name: Run Tests (v2)
|
|
if: contains(github.base_ref, 'master')
|
|
run: |
|
|
go run internal/build/build.go gfmrun docs/v2/manual.md
|
|
go run internal/build/build.go toc docs/v2/manual.md
|