ci: Match -exp for experimental/rc releases and mark semver as latest (#30494)

This commit is contained in:
Matsu
2026-05-18 08:10:02 +03:00
committed by GitHub
parent a253607120
commit c777f0ae87
6 changed files with 32 additions and 6 deletions
+1 -1
View File
@@ -58,7 +58,7 @@ async function createGitHubRelease() {
body: BODY,
draft: false,
prerelease: IS_PRE_RELEASE === 'true',
make_latest: MAKE_LATEST === 'true' ? 'true' : 'false',
make_latest: MAKE_LATEST === 'true' && !isReleaseTrackTag ? 'true' : 'false',
target_commitish: COMMIT,
owner,
repo,
@@ -121,6 +121,9 @@ function determineReleaseType(currentVersion) {
if (currentVersion.includes('-rc.')) {
return 'rc';
}
if (currentVersion.includes('-exp')) {
return 'rc';
}
return 'stable';
}
@@ -104,4 +104,16 @@ describe('determine-tracks', () => {
assert.equal(output.release_type, 'rc');
assert.equal(output.rc_branch, 'release-candidate/2.10.x');
});
it('Set release_type accordingly on exp releases', () => {
const output = determineTrack('2.9.2-exp.0');
assert.equal(output.track, 'stable');
assert.equal(output.version, '2.9.2-exp.0');
assert.equal(output.previous_version, '2.9.2');
assert.equal(output.bump, 'patch');
assert.equal(output.new_stable_version, null);
assert.equal(output.release_type, 'rc');
assert.equal(output.rc_branch, 'release-candidate/2.9.x');
});
});
@@ -16,6 +16,9 @@ on:
commit:
required: true
type: string
is_experimental:
required: true
type: boolean
workflow_dispatch:
inputs:
track:
@@ -35,6 +38,9 @@ on:
description: 'Commitish the release points to (e.g. branch name or SHA).'
required: true
type: string
is_experimental:
required: true
type: boolean
permissions:
contents: write
@@ -71,8 +77,8 @@ jobs:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
RELEASE_TAG: ${{ inputs.version-tag }}
BODY: ${{ inputs.body }}
IS_PRE_RELEASE: ${{ inputs.track == 'beta' }}
MAKE_LATEST: ${{ inputs.track == 'stable' }}
IS_PRE_RELEASE: ${{ inputs.track == 'beta' || inputs.is_experimental }}
MAKE_LATEST: ${{ inputs.track == 'stable' && !inputs.is_experimental }}
COMMIT: ${{ inputs.commit }}
ADDITIONAL_TAGS: ${{ inputs.track }}
ADDITIONAL_TAGS: ${{ !inputs.is_experimental && inputs.track || '' }}
run: node ./.github/scripts/create-github-release.mjs
@@ -70,7 +70,7 @@ jobs:
name: Ensure correct latest version on npm
if: |
inputs.bump == 'minor' ||
inputs.track == 'stable'
(inputs.track == 'stable' && inputs.release_type != 'rc')
uses: ./.github/workflows/release-set-stable-npm-packages-to-latest.yml
secrets: inherit
@@ -85,6 +85,8 @@ jobs:
send-version-release-notification:
name: 'Send version release notifications'
if: |
inputs.release_type != 'rc'
uses: ./.github/workflows/release-version-release-notification.yml
with:
previous-version: ${{ inputs.previous_version }}
+4 -1
View File
@@ -128,12 +128,15 @@ jobs:
version-tag: 'n8n@${{ needs.determine-version-info.outputs.version }}'
body: ${{ github.event.pull_request.body }}
commit: ${{ github.event.pull_request.base.ref }}
is_experimental: ${{ needs.determine-version-info.outputs.release_type == 'rc' }}
secrets: inherit
move-track-tag:
name: Move track tag
needs: [determine-version-info, create-github-release]
if: github.event.pull_request.merged == true
if: |
github.event.pull_request.merged == true &&
needs.determine-version-info.outputs.release_type != 'rc'
uses: ./.github/workflows/release-update-pointer-tag.yml
with:
track: ${{ needs.determine-version-info.outputs.track }}