diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..3e71306 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,47 @@ +on: [push, pull_request] + +name: ci +jobs: + test: + strategy: + matrix: + go-version: [1.13.x] + platform: [ubuntu-latest] + runs-on: ${{ matrix.platform }} + steps: + - name: Install Go + uses: actions/setup-go@v1 + with: + go-version: ${{ matrix.go-version }} + - name: Configure Go Environment + run: | + echo ::set-env name=GOPATH::${{ runner.workspace }} + echo ::add-path::${{ runner.workspace }}/bin + - name: Go Environment + run: go env + - name: Checkout code + uses: actions/checkout@v1 + - name: Bootstrap + run: ./script/bootstrap + + - name: Build + run: go build ./... + - name: Test + run: go test -bench . ./... + - name: Coverage + run: ./script/coverage + - name: Lint + run: ./script/lint + + - name: Upload Unit Test Coverage + uses: codecov/codecov-action@v1.0.5 + with: + token: ${{ secrets.CODECOV_TOKEN }} + file: unittests.coverprofile + flags: unittests + - name: Upload Integration Test Coverage + uses: codecov/codecov-action@v1.0.5 + with: + token: ${{ secrets.CODECOV_TOKEN }} + file: integration.coverprofile + flags: integration diff --git a/script/covermain b/script/covermain index b31a6a7..4bd5406 100755 --- a/script/covermain +++ b/script/covermain @@ -4,7 +4,7 @@ main=$1 coverprofile=$2 # Temporary working directory. -workdir=$(mktemp -d) +workdir=$(mktemp -d tmpXXXXXXXX) # Wrap the main function in a go test. cp ${main} ${workdir}