2023-12-23 17:21:56 +00:00
|
|
|
/**
|
|
|
|
* Houses the pertinent data that GitHub exposes for each Nextflow release
|
|
|
|
*/
|
|
|
|
export type NextflowRelease = {
|
|
|
|
versionNumber: string
|
|
|
|
isEdge: boolean
|
|
|
|
binaryURL: string
|
|
|
|
allBinaryURL: string
|
|
|
|
}
|
2023-12-23 17:27:00 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the download URL of a Nextflow binary
|
|
|
|
* @param release A "release" data struct from OctoKit
|
|
|
|
* @param get_all Whether to return the url for the "all" variant of Nextflow
|
|
|
|
* @returns The URL of the Nextflow binary
|
|
|
|
*/
|
|
|
|
export function nextflow_bin_url(release: object, get_all: boolean): string {
|
|
|
|
const release_assets = release["assets"]
|
|
|
|
const all_asset = release_assets.filter((a: object) => {
|
|
|
|
return a["browser_download_url"].endsWith("-all")
|
|
|
|
})[0]
|
|
|
|
const regular_asset = release_assets.filter((a: object) => {
|
|
|
|
return a["name"] === "nextflow"
|
|
|
|
})[0]
|
|
|
|
|
|
|
|
const dl_asset = get_all ? all_asset : regular_asset
|
|
|
|
|
|
|
|
return dl_asset.browser_download_url
|
|
|
|
}
|