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.
15 lines
186 B
Go
15 lines
186 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/Snider/Borg/cmd"
|
|
)
|
|
|
|
func main() {
|
|
if err := cmd.Execute(); err != nil {
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
os.Exit(1)
|
|
}
|
|
}
|