From 9f7c2a5c232eb2d9272442433e1a76ddcb92d44e Mon Sep 17 00:00:00 2001 From: xHyroM Date: Tue, 12 Jul 2022 18:39:58 +0200 Subject: [PATCH] feat: add support for test builds --- .github/workflows/test.yml | 7 +++++-- action.yml | 3 +++ src/utils/getGithubRelease.ts | 10 +++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ed27321..f90101c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -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 \ No newline at end of file diff --git a/action.yml b/action.yml index 6d9d49e..ffb022a 100644 --- a/action.yml +++ b/action.yml @@ -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: diff --git a/src/utils/getGithubRelease.ts b/src/utils/getGithubRelease.ts index 9d6bc0a..763d424 100644 --- a/src/utils/getGithubRelease.ts +++ b/src/utils/getGithubRelease.ts @@ -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 => { + 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 => { return { ...release, - version: release.tag_name.replace('bun-v', '') + version: miscTestBuilds ? new Date(release.name).getTime() : release.tag_name.replace('bun-v', '') }; } \ No newline at end of file