Replace all exec.Command("gh", ...) calls with the existing pkg/forge
wrapper around the Forgejo Go SDK. BugSETI no longer requires the gh
CLI to be installed.
Changes:
- fetcher: use forge.ListIssues/GetIssue instead of gh issue list/view
- submit: use forge.ForkRepo/CreatePullRequest instead of gh pr create
- seeder: use git clone with forge URL + token auth instead of gh clone
- ghcheck: CheckForge() returns *forge.Client via forge.NewFromConfig()
- config: add ForgeURL/ForgeToken fields (GitHubToken kept for migration)
- pkg/forge: add Token(), GetCurrentUser(), ForkRepo(), CreatePullRequest(),
ListIssueComments(), and label filtering to ListIssuesOpts
Co-Authored-By: Virgil <virgil@lethean.io>
22 lines
537 B
Go
22 lines
537 B
Go
package bugseti
|
|
|
|
import (
|
|
"github.com/host-uk/core/pkg/forge"
|
|
)
|
|
|
|
// CheckForge verifies that the Forgejo API is configured and reachable.
|
|
// Returns nil if a token is configured and the API responds, or an error
|
|
// with actionable instructions for the user.
|
|
func CheckForge() (*forge.Client, error) {
|
|
client, err := forge.NewFromConfig("", "")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
// Verify the token works by fetching the current user
|
|
if _, err := client.GetCurrentUser(); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return client, nil
|
|
}
|