Skip to content

Commit

Permalink
Add workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
andydotxyz committed Jan 23, 2021
1 parent d648019 commit 89abccb
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 0 deletions.
49 changes: 49 additions & 0 deletions .github/workflows/platform_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Platform Tests
on: [push, pull_request]

jobs:
platform_tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
go-version: [1.15.x]
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}

- name: Get dependencies
run: sudo apt-get update && sudo apt-get install golang gcc libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libx11-dev xorg-dev
if: ${{ runner.os == 'Linux' }}

#- name: Verify go modules
# run: |
# if [ "$GO111MODULE" == "on" ]
# then
# # For some reason `git diff-index HEAD` does not work properly if the following line is missing.
# git diff
# # check that go mod tidy does not change go.mod/go.sum
# go mod tidy && git diff-index --quiet HEAD -- || ( echo "go.mod/go.sum not up-to-date"; git diff-index HEAD --; false )
# fi

- name: Tests
run: go test -tags ci ./...

- name: Update coverage
run: |
GO111MODULE=off go get github.com/mattn/goveralls
set -e
go test -tags ci -covermode=atomic -coverprofile=coverage.out ./...
if [ $coverage -lt 69 ]; then echo "Test coverage lowered"; exit 1; fi
if: ${{ runner.os == 'Linux' }}

- name: Update PR Coverage
uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: coverage.out
if: ${{ runner.os == 'Linux' && github.event_name == 'push' }}
37 changes: 37 additions & 0 deletions .github/workflows/static_analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Static Analysis
on: [push, pull_request]

jobs:
checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: '^1.15.x'

- name: Get dependencies
run: |
sudo apt-get update
sudo apt-get install golang gcc libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libx11-dev xorg-dev
GO111MODULE=off go get golang.org/x/tools/cmd/goimports
GO111MODULE=off go get github.com/fzipp/gocyclo/cmd/gocyclo
GO111MODULE=off go get golang.org/x/lint/golint
GO111MODULE=off go get honnef.co/go/tools/cmd/staticcheck
- name: Cleanup repository
run: rm -rf vendor/

- name: Vet
run: go vet -tags ci ./...

- name: Goimports
run: test -z $(goimports -e -d . | tee /dev/stderr)

- name: Gocyclo
run: gocyclo -over 50 .

- name: Golint
run: golint -set_exit_status $(go list -tags ci ./...)

- name: Staticcheck
run: CGO_ENABLED=1 staticcheck -f stylish ./...

0 comments on commit 89abccb

Please sign in to comment.