diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5968c34b..96ebfbe7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -324,8 +324,12 @@ jobs: # ----------------- Changelog Generation ----------------- generate_changelog: name: Generate Changelog - needs: [publish_release, publish_release_status] - if: inputs.enable_changelog && needs.publish_release_status.outputs.release_published == 'true' + needs: [publish_release, publish_release_status, update_major_tag] + if: >- + always() && + inputs.enable_changelog && + needs.publish_release_status.outputs.release_published == 'true' && + (needs.update_major_tag.result == 'success' || needs.update_major_tag.result == 'skipped') runs-on: ${{ inputs.runner_type }} environment: name: create_release diff --git a/src/changelog/gptchangelog/action.yml b/src/changelog/gptchangelog/action.yml index d103b8f2..fb7e6c1f 100644 --- a/src/changelog/gptchangelog/action.yml +++ b/src/changelog/gptchangelog/action.yml @@ -296,7 +296,7 @@ runs: done <<< "$GIT_LOG_DATA" echo "📝 Annotated commits:"$'\n'"${COMMITS_ANNOTATED}" - PROMPT="Generate a changelog for ${APP_NAME} ONLY. Each commit below includes the author handle in brackets. Commits: ${COMMITS_ANNOTATED} --- STRICT RULES: 1) NEVER mention other components - only ${APP_NAME}. 2) Use bullet points. 3) Group by Features, Fixes, Improvements (skip empty sections). 4) No markdown headers. 5) Max 5 bullet points. 6) For each bullet point add the GitHub handle(s) of the author(s) in parentheses at the end, e.g. 'Fix something important (@bedatty)'. If a bullet combines multiple commits, list all unique handles. Omit handles only when none were detected. 7) ALWAYS wrap version references in backticks - this includes tag names (\`v1\`, \`v1.28.8\`, \`v2.0.0-beta.1\`), action refs (\`@v1\`, \`@v1.28.8\`), and any semver-like token. Never emit a bare version." + PROMPT="Generate a changelog for ${APP_NAME} ONLY. Each commit below includes the author handle in brackets. Commits: ${COMMITS_ANNOTATED} --- STRICT RULES: 1) NEVER mention other components - only ${APP_NAME}. 2) Use bullet points under section headers only — do NOT repeat the commit type prefix (feat:, fix:, etc.) inside each bullet; the section header already conveys the category. 3) Group entries under plain section headers: 'Features:', 'Fixes:', 'Improvements:' (skip empty sections). Each bullet is plain prose describing WHAT changed, not the raw commit message. 4) No markdown headers (no #). 5) Max 5 bullet points total across all sections. 6) For each bullet point add the GitHub handle(s) of the author(s) in parentheses at the end, indented on the same line, e.g. 'Ensure normalize_to_filter is a boolean in extra_build. (@bedatty)'. If a bullet combines multiple commits, list all unique handles. Omit handles only when none were detected. 7) ALWAYS wrap version references in backticks - this includes tag names (\`v1\`, \`v1.28.8\`, \`v2.0.0-beta.1\`), action refs (\`@v1\`, \`@v1.28.8\`), and any semver-like token. Never emit a bare version." REQUEST_BODY=$(jq -n \ --arg model "$OPENAI_MODEL" \