diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 00000000..acda05b7 --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,38 @@ +# This workflow will build a golang project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go + +name: Go + +on: [push, pull_request] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: "1.21" + + # Disabling linter for now. Will enable when project is finished, so + # all of the errors can be fixed in a single pass + #- name: golangci-lint + # uses: golangci/golangci-lint-action@v3 + # with: + # # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version + # version: latest + # args: --build-tags="$GOTAGS" --concurrency 2 --timeout 10m + + - name: go mod tidy check + run: | + go mod tidy + git diff --exit-code -- go.mod go.sum + + - name: Lint # Check syntax with the linter + run: make go/lint + + - name: Test # Run the golang tests! + run: make test + diff --git a/Makefile b/Makefile index 58f4a901..ac3c37ce 100644 --- a/Makefile +++ b/Makefile @@ -31,6 +31,10 @@ go/mocks: ## Generates Go mock files. mockery; \ done +.PHONY: test +test: ## Run the unit tests + @go test -v -cover ./... + HELP_FORMAT=" \033[36m%-25s\033[0m %s\n" .PHONY: help help: ## Display this usage information