From a02384e8fc1291f7809d89684c791644237146e6 Mon Sep 17 00:00:00 2001 From: kerobbi Date: Wed, 25 Feb 2026 15:01:27 +0000 Subject: [PATCH] add convertToMinimalRelease, wire MinimalRelease in list_releases --- pkg/github/minimal_types.go | 19 +++++++++++++++++++ pkg/github/repositories.go | 9 ++++++++- pkg/github/repositories_test.go | 6 +++--- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/pkg/github/minimal_types.go b/pkg/github/minimal_types.go index 1d26f152a..c811f7026 100644 --- a/pkg/github/minimal_types.go +++ b/pkg/github/minimal_types.go @@ -702,6 +702,25 @@ func convertToMinimalBranch(branch *github.Branch) MinimalBranch { } } +func convertToMinimalRelease(release *github.RepositoryRelease) MinimalRelease { + m := MinimalRelease{ + ID: release.GetID(), + TagName: release.GetTagName(), + Name: release.GetName(), + Body: release.GetBody(), + HTMLURL: release.GetHTMLURL(), + Prerelease: release.GetPrerelease(), + Draft: release.GetDraft(), + Author: convertToMinimalUser(release.GetAuthor()), + } + + if release.PublishedAt != nil { + m.PublishedAt = release.PublishedAt.Format(time.RFC3339) + } + + return m +} + // MinimalCheckRun is the trimmed output type for check run objects. type MinimalCheckRun struct { ID int64 `json:"id"` diff --git a/pkg/github/repositories.go b/pkg/github/repositories.go index 4433fe64c..66b6f4c52 100644 --- a/pkg/github/repositories.go +++ b/pkg/github/repositories.go @@ -1670,7 +1670,14 @@ func ListReleases(t translations.TranslationHelperFunc) inventory.ServerTool { return ghErrors.NewGitHubAPIStatusErrorResponse(ctx, "failed to list releases", resp, body), nil, nil } - r, err := json.Marshal(releases) + minimalReleases := make([]MinimalRelease, 0, len(releases)) + for _, release := range releases { + if release != nil { + minimalReleases = append(minimalReleases, convertToMinimalRelease(release)) + } + } + + r, err := json.Marshal(minimalReleases) if err != nil { return nil, nil, fmt.Errorf("failed to marshal response: %w", err) } diff --git a/pkg/github/repositories_test.go b/pkg/github/repositories_test.go index 76628283d..7ab9e81e8 100644 --- a/pkg/github/repositories_test.go +++ b/pkg/github/repositories_test.go @@ -3052,12 +3052,12 @@ func Test_ListReleases(t *testing.T) { require.NoError(t, err) textContent := getTextResult(t, result) - var returnedReleases []*github.RepositoryRelease + var returnedReleases []MinimalRelease err = json.Unmarshal([]byte(textContent.Text), &returnedReleases) require.NoError(t, err) assert.Len(t, returnedReleases, len(tc.expectedResult)) - for i, rel := range returnedReleases { - assert.Equal(t, *tc.expectedResult[i].TagName, *rel.TagName) + for i := range returnedReleases { + assert.Equal(t, *tc.expectedResult[i].TagName, returnedReleases[i].TagName) } }) }