From c4abbb1ecb3e38b89adf83be24928e8baea9c64c Mon Sep 17 00:00:00 2001 From: Jeppe Reinhold Date: Wed, 24 May 2023 12:29:26 +0200 Subject: [PATCH] fetch tags --- .github/workflows/prepare-prerelease.yml | 6 +++++- scripts/release/write-changelog.ts | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/prepare-prerelease.yml b/.github/workflows/prepare-prerelease.yml index 08b6956e0806..b19fcc7d1e4e 100644 --- a/.github/workflows/prepare-prerelease.yml +++ b/.github/workflows/prepare-prerelease.yml @@ -42,7 +42,7 @@ jobs: with: ref: main-v2 # this needs to be set to a high enough number that it will contain the last version tag - # as of May 2023, the whole repo has 55K commits + # as of May 2023, the whole repo had 55K commits fetch-depth: 10000 - name: Setup Node.js @@ -84,6 +84,10 @@ jobs: run: | yarn release:version --release-type ${{ inputs.release-type || 'prerelease' }} ${{ inputs.pre-id && format('{0} {1}', '--pre-id', inputs.pre-id) }} --verbose + # tags are needed for the changelog generation + - name: Fetch git tags + run: git fetch --tags origin + - name: Write changelog env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/scripts/release/write-changelog.ts b/scripts/release/write-changelog.ts index 26dd592d8ec6..b2cdb82293a0 100644 --- a/scripts/release/write-changelog.ts +++ b/scripts/release/write-changelog.ts @@ -89,6 +89,11 @@ const getFromCommit = async (from?: string | undefined, verbose?: boolean) => { console.log(`🔍 No 'from' specified, finding latest version tag, fetching all of them...`); // await git.fetch('origin', ['--all', '--tags']); const { latest } = await git.tags(['v*', '--sort=-v:refname', '--merged']); + if (!latest) { + throw new Error( + 'Could not automatically detect which commit to generate from, because no version tag was found in the history. Have you fetch tags?' + ); + } actualFrom = latest; if (verbose) { console.log(`🔍 No 'from' specified, found latest tag: ${chalk.blue(latest)}`);