diff --git a/.github/workflows/release-sdk.yml b/.github/workflows/release-sdk.yml index ccdc24b77..f37d44da7 100644 --- a/.github/workflows/release-sdk.yml +++ b/.github/workflows/release-sdk.yml @@ -348,15 +348,33 @@ jobs: CLI_SOURCE_DESC="CLI built from source (same branch/ref as SDK)" fi - # Create release notes with CLI version info - NOTES="## Bundled CLI Version\n\nThis SDK release bundles CLI version: \`${CLI_VERSION}\`\n\nSource: ${CLI_SOURCE_DESC}\n\n---\n\n" + # Create release notes file + NOTES_FILE=$(mktemp) + { + echo "## Bundled CLI Version" + echo "" + echo "This SDK release bundles CLI version: ${CLI_VERSION}" + echo "" + echo "Source: ${CLI_SOURCE_DESC}" + echo "" + echo "---" + echo "" + } > "${NOTES_FILE}" + # Get previous release notes if available + PREVIOUS_NOTES=$(gh release view "sdk-typescript-${PREVIOUS_RELEASE_TAG}" --json body -q '.body' 2>/dev/null || echo 'See commit history for changes.') + echo "${PREVIOUS_NOTES}" >> "${NOTES_FILE}" + + # Create GitHub release gh release create "sdk-typescript-${RELEASE_TAG}" \ --target "${TARGET}" \ --title "SDK TypeScript Release ${RELEASE_TAG}" \ --notes-start-tag "sdk-typescript-${PREVIOUS_RELEASE_TAG}" \ - --notes "${NOTES}$(gh release view "sdk-typescript-${PREVIOUS_RELEASE_TAG}" --json body -q '.body' 2>/dev/null || echo 'See commit history for changes.')" \ - "${PRERELEASE_FLAG}" + --notes-file "${NOTES_FILE}" \ + ${PRERELEASE_FLAG} + + # Cleanup + rm -f "${NOTES_FILE}" - name: 'Create PR to merge release branch into main' if: |- diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ffcda3dc0..617cf9553 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -206,13 +206,22 @@ jobs: RELEASE_BRANCH: '${{ steps.release_branch.outputs.BRANCH_NAME }}' RELEASE_TAG: '${{ steps.version.outputs.RELEASE_TAG }}' PREVIOUS_RELEASE_TAG: '${{ steps.version.outputs.PREVIOUS_RELEASE_TAG }}' + IS_NIGHTLY: '${{ steps.vars.outputs.is_nightly }}' + IS_PREVIEW: '${{ steps.vars.outputs.is_preview }}' run: |- + # Set prerelease flag for nightly and preview releases + PRERELEASE_FLAG="" + if [[ "${IS_NIGHTLY}" == "true" || "${IS_PREVIEW}" == "true" ]]; then + PRERELEASE_FLAG="--prerelease" + fi + gh release create "${RELEASE_TAG}" \ dist/cli.js \ --target "$RELEASE_BRANCH" \ --title "Release ${RELEASE_TAG}" \ --notes-start-tag "$PREVIOUS_RELEASE_TAG" \ - --generate-notes + --generate-notes \ + ${PRERELEASE_FLAG} - name: 'Create Issue on Failure' if: |-