feat: add support for test builds

This commit is contained in:
xHyroM 2022-07-12 18:39:58 +02:00
parent 81ecfb54f4
commit 9f7c2a5c23
3 changed files with 15 additions and 5 deletions

View File

@ -14,16 +14,19 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest]
bun-version:
["latest", "0.1.3"]
["latest", "0.1.3", "latest"]
misc-test-builds:
[false, false, true]
steps:
- uses: actions/checkout@v2
- name: Setup Bun
- name: Setup Bun - Test Builds * ${{ matrix.misc-test-builds }}
uses: ./
with:
bun-version: ${{ matrix.bun-version }}
github-token: ${{ secrets.GITHUB_TOKEN }}
misc-test-builds: ${{ matrix.misc-test-builds }}
- name: Try bun
run: bun --version

View File

@ -12,6 +12,9 @@ inputs:
default: "latest"
github-token:
description: "The github token secret can be passed in using {{ secrets.GITHUB_TOKEN }}"
misc-test-builds:
description: "Install builds from https://github.com/oven-sh/misc-test-builds (not recommended!)"
required: false
outputs:
bun-version:

View File

@ -1,3 +1,4 @@
import { getInput } from '@actions/core';
import fetch from 'node-fetch';
export interface Asset {
@ -6,6 +7,7 @@ export interface Asset {
}
export interface Release {
name: string;
html_url: string;
tag_name: string;
message?: string;
@ -14,9 +16,11 @@ export interface Release {
}
export default async(version: string, token: string): Promise<Release> => {
const miscTestBuilds = getInput('misc-test-builds');
const repository = miscTestBuilds ? miscTestBuilds : 'oven-sh/bun'
let url;
if (version === 'latest') url = 'https://api.github.com/repos/oven-sh/bun/releases/latest';
else url = `https://api.github.com/repos/oven-sh/bun/releases/tags/bun-v${version}`;
if (version === 'latest') url = `https://api.github.com/repos/${repository}/releases/latest`;
else url = `https://api.github.com/repos/${repository}/releases/tags/bun-v${version}`;
const release: any = await (await fetch(url, {
headers: {
@ -28,6 +32,6 @@ export default async(version: string, token: string): Promise<Release> => {
return {
...release,
version: release.tag_name.replace('bun-v', '')
version: miscTestBuilds ? new Date(release.name).getTime() : release.tag_name.replace('bun-v', '')
};
}