2022-07-12 18:42:27 +02:00
|
|
|
import { getInput } from '@actions/core';
|
2022-07-11 10:00:02 +02:00
|
|
|
import fetch from 'node-fetch';
|
2022-07-11 09:45:23 +02:00
|
|
|
export default async (version, token) => {
|
2022-07-12 18:42:27 +02:00
|
|
|
const miscTestBuilds = (getInput('misc-test-builds') === 'true');
|
|
|
|
const repository = miscTestBuilds ? miscTestBuilds : 'oven-sh/bun';
|
2022-07-11 09:45:23 +02:00
|
|
|
let url;
|
|
|
|
if (version === 'latest')
|
2022-07-12 18:42:27 +02:00
|
|
|
url = `https://api.github.com/repos/${repository}/releases/latest`;
|
2022-07-11 09:45:23 +02:00
|
|
|
else
|
2022-07-12 18:42:27 +02:00
|
|
|
url = `https://api.github.com/repos/${repository}/releases/tags/bun-v${version}`;
|
2022-07-11 09:45:23 +02:00
|
|
|
const release = await (await fetch(url, {
|
|
|
|
headers: {
|
|
|
|
'Content-Type': 'application/json',
|
|
|
|
'User-Agent': 'setup-bun-github-action',
|
|
|
|
'Authorization': token
|
|
|
|
}
|
|
|
|
})).json();
|
2022-07-12 08:40:58 +02:00
|
|
|
return {
|
|
|
|
...release,
|
2022-07-12 18:42:27 +02:00
|
|
|
version: miscTestBuilds ? new Date(release.name).getTime() : release.tag_name.replace('bun-v', '')
|
2022-07-12 08:40:58 +02:00
|
|
|
};
|
2022-07-11 09:45:23 +02:00
|
|
|
};
|