2022-11-15 15:57:34 +00:00
|
|
|
import * as github from "@actions/github"
|
|
|
|
import { GitHub } from "@actions/github/lib/utils"
|
|
|
|
import anyTest, { TestFn } from "ava" // eslint-disable-line import/no-unresolved
|
2022-11-14 02:05:23 +00:00
|
|
|
|
2022-11-15 15:57:34 +00:00
|
|
|
import { release_data } from "../src/functions"
|
2023-06-28 09:03:05 +00:00
|
|
|
import { getReleaseTag, getToken } from "./utils"
|
2022-11-14 03:22:12 +00:00
|
|
|
|
2022-11-14 02:27:54 +00:00
|
|
|
const test = anyTest as TestFn<{
|
|
|
|
token: string
|
|
|
|
octokit: InstanceType<typeof GitHub>
|
|
|
|
}>
|
2022-11-14 02:05:23 +00:00
|
|
|
|
|
|
|
test.before(t => {
|
|
|
|
const first = true
|
|
|
|
const current_token = getToken(first)
|
2022-11-14 02:29:05 +00:00
|
|
|
t.context = {
|
|
|
|
token: current_token,
|
|
|
|
octokit: github.getOctokit(current_token)
|
|
|
|
}
|
2022-11-14 02:05:23 +00:00
|
|
|
})
|
|
|
|
|
2023-06-28 09:03:05 +00:00
|
|
|
const macro = test.macro(async (t, version: string) => {
|
|
|
|
let expected
|
|
|
|
if (version === "latest-stable") {
|
|
|
|
expected = await getReleaseTag("nextflow-io/nextflow", false)
|
|
|
|
} else if (version === "latest-edge") {
|
|
|
|
expected = await getReleaseTag("nextflow-io/nextflow", true)
|
|
|
|
} else if (version === "latest-everything") {
|
|
|
|
expected = await getReleaseTag("nextflow-io/nextflow", undefined)
|
|
|
|
} else {
|
|
|
|
expected = version
|
|
|
|
}
|
2022-11-15 15:57:34 +00:00
|
|
|
const result = await release_data(version, t.context["octokit"])
|
|
|
|
t.is(result["tag_name"], expected)
|
2022-11-14 02:05:23 +00:00
|
|
|
})
|
|
|
|
|
2023-06-28 09:03:05 +00:00
|
|
|
test("hard version", macro, "v22.10.2")
|
|
|
|
test("latest-stable", macro, "latest-stable")
|
|
|
|
test("latest-edge", macro, "latest-edge")
|
|
|
|
test("latest-everything", macro, "latest-everything")
|