You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Proposal: Filter prek update candidates using GitHub release stability and immutability metadata
#2881
prek update selects Git tags using timestamps and configurable tag filters, but cannot reliably determine whether a GitHub release is a prerelease or immutable.
Tag-name filtering requires manual patterns and cannot guarantee release stability or immutability.
Proposal
Add two optional settings under [update] to filter candidates using GitHub release metadata:
exclude_prereleases = true: Skip releases where isPrerelease is true.
require_immutable_releases = true: Skip releases where isImmutable is false.
These fields are exposed by gh release list --json. GitHub's REST API provides the equivalent fields as prerelease and immutable.
When enabled, consider only published GitHub releases satisfying the configured filters. Exclude tags without corresponding releases and preserve existing cooldown and tag filters.
Both settings should default to false to preserve current behavior.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Problem
prek updateselects Git tags using timestamps and configurable tag filters, but cannot reliably determine whether a GitHub release is a prerelease or immutable.Tag-name filtering requires manual patterns and cannot guarantee release stability or immutability.
Proposal
Add two optional settings under
[update]to filter candidates using GitHub release metadata:exclude_prereleases = true: Skip releases whereisPrereleaseistrue.require_immutable_releases = true: Skip releases whereisImmutableisfalse.These fields are exposed by
gh release list --json. GitHub's REST API provides the equivalent fields asprereleaseandimmutable.When enabled, consider only published GitHub releases satisfying the configured filters. Exclude tags without corresponding releases and preserve existing cooldown and tag filters.
Both settings should default to
falseto preserve current behavior.Usage
prek.toml:$ prek updateWith these settings,
prek updateselects only GitHub releases whereisPrereleaseisfalseandisImmutableistrue.References
autoupdatefliter pre-release tags #174prek updateselects movingv1tag instead of release tag forcrate-ci/typos#2737All reactions