From 6677f14f97adc5fc0eb6caf732ec5e9d2e829609 Mon Sep 17 00:00:00 2001 From: Billy Trend Date: Wed, 15 Jan 2025 15:34:42 +0000 Subject: [PATCH 1/2] Fix create releases --- .github/workflows/create-sdk-releases.yml | 1 + packages/autorelease/src/create-releases.ts | 27 +++++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/.github/workflows/create-sdk-releases.yml b/.github/workflows/create-sdk-releases.yml index 50b2176c..cea7e6f2 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/packages/autorelease/src/create-releases.ts b/packages/autorelease/src/create-releases.ts index 57174735..d7b07a7b 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 From f7d729e40172db011f6b8b0259732e30713fef11 Mon Sep 17 00:00:00 2001 From: Billy Trend Date: Wed, 15 Jan 2025 17:08:59 +0000 Subject: [PATCH 2/2] Update SDK generation commands to include API specification --- .github/workflows/release-sdks.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-sdks.yaml b/.github/workflows/release-sdks.yaml index 16c48694..d5cf782e 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