Edmund Miller 2022-11-13 17:09:09 -06:00 committed by Thomas A. Christensen II
parent 955a936296
commit 7a0ec2a9b4
3 changed files with 20 additions and 15 deletions

View file

@ -35,7 +35,7 @@ export async function release_data(
): Promise<object> { ): Promise<object> {
// Setup tag-based filtering // Setup tag-based filtering
let filter = (r: object): boolean => { let filter = (r: object): boolean => {
return semver.satisfies(r.tag_name, version, true) return semver.satisfies(r['tag_name'], version, true)
} }
// Check if the user passed a 'latest*' tag, and override filtering // Check if the user passed a 'latest*' tag, and override filtering
@ -49,7 +49,7 @@ export async function release_data(
} }
} else if (version.includes('-edge')) { } else if (version.includes('-edge')) {
filter = r => { filter = r => {
return r.tag_name.endsWith('-edge') return r['tag_name'].endsWith('-edge')
} }
} else { } else {
// This is special: passing 'latest' or 'latest-stable' allows us to use // This is special: passing 'latest' or 'latest-stable' allows us to use
@ -62,6 +62,7 @@ export async function release_data(
// Get all the releases // Get all the releases
const all_releases = await all_nf_releases(ok) const all_releases = await all_nf_releases(ok)
// FIXME Ignore
const matching_releases = all_releases.filter(filter) const matching_releases = all_releases.filter(filter)
matching_releases.sort(function (x, y) { matching_releases.sort(function (x, y) {
@ -71,13 +72,13 @@ export async function release_data(
return matching_releases[0] return matching_releases[0]
} }
export function nextflow_bin_url(release, get_all: boolean): string { export function nextflow_bin_url(release: object, get_all: boolean): string {
const release_assets = release.assets const release_assets = release['assets']
const all_asset = release_assets.filter(a => { const all_asset = release_assets.filter((a: object) => {
return a.browser_download_url.endsWith('-all') return a['browser_download_url'].endsWith('-all')
})[0] })[0]
const regular_asset = release_assets.filter(a => { const regular_asset = release_assets.filter((a: object) => {
return a.name === 'nextflow' return a['name'] === 'nextflow'
})[0] })[0]
const dl_asset = get_all ? all_asset : regular_asset const dl_asset = get_all ? all_asset : regular_asset

View file

@ -32,8 +32,10 @@ async function run(): Promise<void> {
let release = {} let release = {}
try { try {
release = await release_data(version, octokit) release = await release_data(version, octokit)
resolved_version = release.tag_name resolved_version = release['tag_name']
core.info(`Input version '${version}' resolved to Nextflow ${release.name}`) core.info(
`Input version '${version}' resolved to Nextflow ${release['name']}`
)
} catch (e: unknown) { } catch (e: unknown) {
if (e instanceof Error) { if (e instanceof Error) {
core.setFailed( core.setFailed(

View file

@ -12,19 +12,21 @@ test.before(t => {
}) })
test('all_nf_releases', async t => { test('all_nf_releases', async t => {
const result = await functions.all_nf_releases(t.context.octokit) const result = await functions.all_nf_releases(t.context['octokit'])
t.is(typeof result, 'object') t.is(typeof result, 'object')
}) })
test('lastest_stable_release_data', async t => { test('lastest_stable_release_data', async t => {
const result = await functions.latest_stable_release_data(t.context.octokit) const result = await functions.latest_stable_release_data(
t.context['octokit']
)
t.is(typeof result, 'object') t.is(typeof result, 'object')
t.is(result.tag_name, 'v22.10.2') t.is(result['tag_name'], 'v22.10.2')
}) })
test('release_data', async t => { test('release_data', async t => {
const result = await functions.release_data('v22.10.2', t.context.octokit) const result = await functions.release_data('v22.10.2', t.context['octokit'])
t.is(result.tag_name, 'v22.10.2') t.is(result['tag_name'], 'v22.10.2')
}) })
test.todo('nextflow_bin_url') test.todo('nextflow_bin_url')