From b027bed691534a97cf4e68df227a7c6ea84834b2 Mon Sep 17 00:00:00 2001 From: billytrend-cohere <144115527+billytrend-cohere@users.noreply.github.com> Date: Thu, 16 Jan 2025 11:26:18 +0000 Subject: [PATCH] Fix create releases (#360) --- .github/workflows/create-sdk-releases.yml | 1 + .github/workflows/release-sdks.yaml | 8 +++--- packages/autorelease/src/create-releases.ts | 27 +++++++++++++++++---- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/.github/workflows/create-sdk-releases.yml b/.github/workflows/create-sdk-releases.yml index 50b2176c9..cea7e6f25 100644 --- a/.github/workflows/create-sdk-releases.yml +++ b/.github/workflows/create-sdk-releases.yml @@ -15,6 +15,7 @@ on: description: 'If you want to just release a specific language' type: choice options: + - 'all' - 'go' - 'java' - 'python' diff --git a/.github/workflows/release-sdks.yaml b/.github/workflows/release-sdks.yaml index 16c486945..d5cf782e6 100644 --- a/.github/workflows/release-sdks.yaml +++ b/.github/workflows/release-sdks.yaml @@ -46,7 +46,7 @@ jobs: tag=${{ github.ref_name }} prefix="node@" SDK_VERSION="${tag#$prefix}" - fern generate --group node-sdk --version "$SDK_VERSION" --log-level debug + fern generate --api sdks --group node-sdk --version "$SDK_VERSION" --log-level debug fern-generate-go: environment: sdk-release @@ -70,7 +70,7 @@ jobs: tag=${{ github.ref_name }} prefix="go@" SDK_VERSION="${tag#$prefix}" - fern generate --group go-sdk --version "$SDK_VERSION" --log-level debug + fern generate --api sdks --group go-sdk --version "$SDK_VERSION" --log-level debug fern-generate-java: environment: sdk-release @@ -99,7 +99,7 @@ jobs: tag=${{ github.ref_name }} prefix="java@" SDK_VERSION="${tag#$prefix}" - fern generate --group java-sdk --version "$SDK_VERSION" --log-level debug + fern generate --api sdks --group java-sdk --version "$SDK_VERSION" --log-level debug fern-generate-python: environment: sdk-release @@ -124,4 +124,4 @@ jobs: tag=${{ github.ref_name }} prefix="python@" SDK_VERSION="${tag#$prefix}" - fern generate --group python-sdk --version "$SDK_VERSION" --log-level debug \ No newline at end of file + fern generate --api sdks --group python-sdk --version "$SDK_VERSION" --log-level debug \ No newline at end of file diff --git a/packages/autorelease/src/create-releases.ts b/packages/autorelease/src/create-releases.ts index 571747355..d7b07a7ba 100644 --- a/packages/autorelease/src/create-releases.ts +++ b/packages/autorelease/src/create-releases.ts @@ -2,7 +2,7 @@ import { Octokit } from "@octokit/rest" const versionMatchRegex = /v?(\d+\.\d+\.\d+)/g -const languages = ["python", "typescript", "go", "typescript"] as const +const languages = ["python", "typescript", "go"] as const const bumpTypes = ["major", "minor", "patch"] as const @@ -123,24 +123,41 @@ const createRelease = async (language: typeof languages[number], version: string await maybeDeleteRelease(language, version) + const tagName = formatTagName(language, version) + + await octokit.git.createRef({ + owner: process.env.GITHUB_OWNER!, + repo: process.env.GITHUB_REPO!, + ref: `refs/tags/${tagName}`, + sha: process.env.GITHUB_SHA!, + }) + await octokit.repos.createRelease({ owner: process.env.GITHUB_OWNER!, repo: process.env.GITHUB_REPO!, - tag_name: formatTagName(language, version), - name: formatTagName(language, version), + tag_name: tagName, + name: tagName, body: `This release updates the ${language} package to ${version}.`, }) } (async () => { const bumpType = process.env.BUMP_TYPE as typeof bumpTypes[number] | undefined - const language = process.env.LANGUAGE as typeof languages[number] | undefined + const language = process.env.LANGUAGE as typeof languages[number] | "all" | undefined if (!bumpType) { throw new Error("BUMP_TYPE is not defined.") } + if (!language) { + throw new Error("LANGUAGE is not defined.") + } + const nextVersions = await getNextVersions(bumpType) - await Promise.all(languages.filter(l => language ? l === language : true).map(async language => createRelease(language, nextVersions[language].next))) + await Promise.all( + languages + .filter(l => language === "all" ? true : l === language) + .map(async language => createRelease(language, nextVersions[language].next)) + ) })() \ No newline at end of file