Keep RC update checks off perf prereleases

Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
Jinwoo-H
2026-07-03 21:11:44 -04:00
co-authored by Orca
parent 821c8b69fb
commit 04e2d12899
2 changed files with 26 additions and 1 deletions
+23
View File
@@ -187,6 +187,29 @@ describe('fetchNewerReleaseTag', () => {
expect(await fetchNewerReleaseTag('1.3.19-rc.6')).toBe('v1.3.20-rc.1')
})
it('ignores perf-tagged prereleases for regular RC checks', async () => {
respondWithAtom(['v1.4.121-rc.6.perf', 'v1.4.121-rc.6', 'v1.4.121-rc.5'])
const { fetchNewerReleaseTag } = await import('./updater-prerelease-feed')
expect(await fetchNewerReleaseTag('1.4.121-rc.5', { includePrerelease: true })).toBe(
'v1.4.121-rc.6'
)
})
it('reports no RC update when only perf-tagged prereleases are newer', async () => {
respondWithAtom(['v1.4.121-rc.6.perf', 'v1.4.121-rc.5'])
const { fetchNewerReleaseTagsWithReadiness } = await import('./updater-prerelease-feed')
await expect(
fetchNewerReleaseTagsWithReadiness('1.4.121-rc.5', 1, { includePrerelease: true })
).resolves.toEqual({
tags: [],
state: 'no-newer'
})
})
it('picks the semver-newest perf-tagged prerelease', async () => {
respondWithAtom([
'v1.4.121-rc.6.perf',
+3 -1
View File
@@ -203,11 +203,13 @@ export async function fetchNewerReleaseTagsWithReadiness(
return { tags: [], state: 'unavailable' }
}
// Why: perf builds are explicit opt-in; regular prerelease checks should
// stay on the main RC/stable series even though perf tags are semver-newer.
const candidates =
options.releaseFilter === 'perf'
? tags.filter(({ tag }) => isPerfPrereleaseTag(tag))
: includePrerelease
? tags
? tags.filter(({ tag }) => !isPerfPrereleaseTag(tag))
: tags.filter(({ version }) => !isPrereleaseVersion(version))
const newestNewerIndex = candidates.findIndex(
({ version }) => compareVersions(version, currentVersion) > 0