Byte-snake-engine/.github/workflows/main.yml
2020-07-29 10:49:50 -07:00

49 lines
1.2 KiB
YAML

name: Main
on: [push, pull_request]
jobs:
format:
name: Format (gofmt)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: actions/setup-go@main
with:
go-version: '1.13'
- name: Run 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@main
- uses: actions/setup-go@main
with:
go-version: '1.13'
- name: Run 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@main
- uses: actions/setup-go@main
with:
go-version: '1.13'
- name: Run go test
run: go test -race -coverprofile=coverage.txt ./...
- name: Upload coverage to codecov.io
if: github.event_name == 'push'
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.txt
fail_ci_if_error: true