SIANXSVC-1214: Replace codecov with codeclimate #55
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
go: [ "1.20", "1.21" ] # test only the last two supported versions | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: "${{ matrix.go }}" | |
- name: Install goimports | |
run: go install golang.org/x/tools/cmd/goimports@latest | |
- name: Check Go formatting | |
run: | | |
if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then | |
gofmt -s -l . | |
exit 1 | |
fi | |
- name: Check Go imports | |
run: | | |
if [ "$(goimports -d . | wc -l)" -gt 0 ]; then | |
goimports -d . | |
exit 1 | |
fi | |
- name: Run Go vet | |
run: go vet ./... | |
- name: Run Go test | |
run: go test -v -race -coverprofile=coverage.txt -covermode=atomic ./... | |
# Because the module path differs from the path, we have to to remove the prefix from | |
# the cover file. See also: | |
# https://github.com/paambaati/codeclimate-action/issues/109#issuecomment-751311299 | |
- name: Adjust code coverage report for CodeClimate | |
run: | | |
export GO_MODULE_NAME=$(go mod edit -json | jq -r '.Module.Path') | |
sed -i "s%$GO_MODULE_NAME/%%" coverage.txt | |
- name: Upload coverage to CodeClimate | |
if: ${{ github.event.name != 'pull_request' }} | |
uses: paambaati/codeclimate-action@v5 | |
with: | |
coverageLocations: "coverage.txt:gocov" |