8000 Support for explicitly setting the latest release · Issue #2593 · google/go-github · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Support for explicitly setting the latest release #2593
Closed
@chrisgrautealium

Description

@chrisgrautealium

GitHub recently changed the way the latest version can be managed, to allow explicitly setting the latest release. Previously, the latest release would be the most recently created non-pre-release.

https://github.blog/changelog/2022-10-21-explicitly-set-the-latest-release/

In the web UI, this shows up as two checkboxes. In the API, this is set using the make_latest parameter, which defaults to true for newly created releases.

https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28#update-a-release

It does not seem that this parameter is available in the RepositoryRelease struct yet.

type RepositoryRelease struct {
TagName *string `json:"tag_name,omitempty"`
TargetCommitish *string `json:"target_commitish,omitempty"`
Name *string `json:"name,omitempty"`
Body *string `json:"body,omitempty"`
Draft *bool `json:"draft,omitempty"`
Prerelease *bool `json:"prerelease,omitempty"`
DiscussionCategoryName *string `json:"discussion_category_name,omitempty"`

My sample workflow is to attempt to promote an existing pre-release to the latest release. For example, given a set of releases for a repository:

TITLE      TYPE         TAG NAME   PUBLISHED
Release-4  Pre-release  Release-4  about 16 minutes ago
Release-3  Pre-release  Release-3  about 17 minutes ago
Release-2  Latest       Release-2  about 17 minutes ago
Release-1               Release-1  about 17 minutes ago

Removing the pre-release flag from Release-4:

githubClient.Repositories.EditRelease(context.Background(),
	owner, repo, *release.ID,
	&github.RepositoryRelease{Prerelease: github.Bool(false)})

This results in,

TITLE      TYPE         TAG NAME   PUBLISHED
Release-4               Release-4  about 19 minutes ago
Release-3  Pre-release  Release-3  about 19 minutes ago
Release-2  Latest       Release-2  about 19 minutes ago
Release-1               Release-1  about 19 minutes ago

It would be useful if this were possible:

githubClient.Repositories.EditRelease(context.Background(),
    owner, repo, *release.ID,
    &github.RepositoryRelease{
        Prerelease: github.Bool(false),
        Makelatest: "true", // string, because parameter supports "true", "false", "legacy"
    })

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0