Byte-snake-engine/.github/workflows/main.yml
2020-01-03 15:32:27 -08:00

49 lines
1.2 KiB
YAML

name: CI
on: [push, pull_request]
jobs:
format:
name: Format (gofmt)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-go@master
with:
go-version: '1.13'
- name: gofmt
run: test -z $(gofmt -l .) || (gofmt -d . && exit 1)
lint:
name: Lint (golangci-lint)
runs-on: ubuntu-latest
needs: [format]
steps:
- uses: actions/checkout@master
- uses: actions/setup-go@master
with:
go-version: '1.13'
- name: golangci-lint
run: |
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.22.2
./bin/golangci-lint run -v ./...
test:
name: Test (go test)
runs-on: ubuntu-latest
needs: [lint]
steps:
- uses: actions/checkout@master
- uses: actions/setup-go@master
with:
go-version: '1.13'
- name: go test
run: go test -race -coverprofile=coverage.txt ./...
- name: upload to codecov
if: github.event_name == 'push'
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.txt
fail_ci_if_error: true