Skip to content

Quality Control

Quality Control #14

Workflow file for this run

name: Quality Control
on: [
pull_request,
workflow_dispatch
]
jobs:
build:
name: Quality Control
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: '1.22'
cache: false
- name: Install Go quality tools
run: |
go install golang.org/x/tools/cmd/goimports@v0.1.7
go install github.com/axw/gocov/gocov@v1.1.0
go install github.com/jstemmer/go-junit-report/v2@v2.1.0
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "${PWD}/bin" v1.56.2
GO_TEST_SUM_VERSION=1.10.0
curl -fSsOL https://github.com/gotestyourself/gotestsum/releases/download/v${GO_TEST_SUM_VERSION}/gotestsum_${GO_TEST_SUM_VERSION}_linux_amd64.tar.gz
tar xvzf gotestsum_${GO_TEST_SUM_VERSION}_linux_amd64.tar.gz -C /usr/local/bin
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.56.2
- name: Install Task
uses: arduino/setup-task@v1
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Code quality checks
run: |
# Note: it is by design that we don't use the builder
task format
task lint
- name: Unit tests
run: |
# Note: it is by design that we don't use the builder
task test:unit
- name: Integration tests
run: |
task test:integration
- name: Azurite logs
run: |
task azurite:logs
- name: Stop azurite
if: always()
run: |
task azurite:stop