diff options
| author | David Sherret <dsherret@users.noreply.github.com> | 2022-08-08 19:31:45 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-08 19:31:45 -0400 |
| commit | af618e3b8fb11f3947ab5ded9523cdca9cf77ced (patch) | |
| tree | ba864ab239ea334531214fa43cb4003a53509d41 /tools/release/00_start_release.ts | |
| parent | daaa509ee5e79e938e166dcaf6cdd758030021be (diff) | |
chore: make the start_release workflow go faster (#15416)
Diffstat (limited to 'tools/release/00_start_release.ts')
| -rwxr-xr-x[-rw-r--r--] | tools/release/00_start_release.ts | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/tools/release/00_start_release.ts b/tools/release/00_start_release.ts index 6c0c555a0..b98fc147f 100644..100755 --- a/tools/release/00_start_release.ts +++ b/tools/release/00_start_release.ts @@ -1,20 +1,19 @@ -#!/usr/bin/env -S deno run -A --lock=tools/deno.lock.json +#!/usr/bin/env -S deno run -A --quiet --lock=tools/deno.lock.json // Copyright 2018-2022 the Deno authors. All rights reserved. MIT license. -import { DenoWorkspace } from "./deno_workspace.ts"; import { $, createOctoKit, semver } from "./deps.ts"; -$.logStep("Loading cli crate..."); -const workspace = await DenoWorkspace.load(); -const cliCrate = workspace.getCliCrate(); -const nextVersion = getNextVersion(semver.parse(cliCrate.version)!); +const currentDirPath = $.path.dirname($.path.fromFileUrl(import.meta.url)); + +$.logStep("Getting next version..."); +const nextVersion = getNextVersion(semver.parse(getCliVersion())!); $.logStep("Creating gist with instructions..."); const octoKit = createOctoKit(); const result = await octoKit.request("POST /gists", { - description: `Deno CLI v${nextVersion.toString()} release checklist`, + description: `Deno CLI v${nextVersion} release checklist`, public: false, files: { - "release_instructions.md": { + [`release_${nextVersion}.md`]: { content: buildDenoReleaseInstructionsDoc(), }, }, @@ -23,7 +22,7 @@ const result = await octoKit.request("POST /gists", { $.log("=============================================="); $.log("Created gist with instructions!"); $.log(""); -$.log(` ${result.url}`); +$.log(` ${result.data.html_url}`); $.log(""); $.log("Please fork the gist and follow the checklist."); $.log("=============================================="); @@ -41,9 +40,23 @@ function getNextVersion(originalVersion: semver.SemVer) { } function buildDenoReleaseInstructionsDoc() { - const currentDirPath = $.path.dirname($.path.fromFileUrl(import.meta.url)); const templateText = Deno.readTextFileSync( $.path.join(currentDirPath, "release_doc_template.md"), ); return `# Deno CLI ${nextVersion.toString()} Release Checklist\n\n${templateText}`; } + +function getCliVersion() { + const cargoTomlText = Deno.readTextFileSync( + $.path.join(currentDirPath, "../../cli/Cargo.toml"), + ); + const result = cargoTomlText.match(/^version\s*=\s*"([^"]+)"$/m); + if (result == null || result.length !== 2) { + $.log("Cargo.toml"); + $.log("=========="); + $.log(cargoTomlText); + $.log("=========="); + throw new Error("Could not find version in text."); + } + return result[1]; +} |
