This commit addresses several issues identified in a code review to improve the overall quality and robustness of the application. Key changes include: - Refactored `cmd.Execute()` to return an error instead of calling `os.Exit`, making the application more testable. - Fixed critical issues in `cmd/main_test.go`, including renaming `TestMain` to avoid conflicts and removing the brittle E2E test. - Improved the GitHub API client in `pkg/github/github.go` by: - Fixing a resource leak where an HTTP response body was not being closed. - Restoring a parameterized function to improve testability. - Adding support for `context.Context` and API pagination for robustness. - Updated the `.github/workflows/go.yml` CI workflow to use the `Taskfile.yml` for building and testing, ensuring consistency. - Added a `test` task to `Taskfile.yml`. - Ran `go mod tidy` and fixed several unused import errors.
30 lines
458 B
YAML
30 lines
458 B
YAML
version: '3'
|
|
|
|
tasks:
|
|
clean:
|
|
cmds:
|
|
- rm -f borg
|
|
build:
|
|
cmds:
|
|
- task: clean
|
|
- GOOS=linux GOARCH=amd64 go build -o borg main.go
|
|
sources:
|
|
- main.go
|
|
- ./pkg/**/*.go
|
|
generates:
|
|
- borg
|
|
run:
|
|
cmds:
|
|
- task: build
|
|
- chmod +x borg
|
|
- ./borg
|
|
deps:
|
|
- build
|
|
test:
|
|
cmds:
|
|
- go test ./...
|
|
test-e2e:
|
|
cmds:
|
|
- task: build
|
|
- chmod +x borg
|
|
- ./borg --help
|