diff --git a/.github/scripts/release-notes-prompt.py b/.github/scripts/release-notes-prompt.py new file mode 100644 index 0000000..a1fb4f9 --- /dev/null +++ b/.github/scripts/release-notes-prompt.py @@ -0,0 +1,17 @@ +import os +from datetime import datetime; +from pytz import timezone + +GITHUB_OUTPUT = os.getenv("GITHUB_OUTPUT") + +TODAY = datetime.now(timezone('US/Eastern')).isoformat(sep=' ', timespec='seconds') + +BASE_PROMPT = f"""Based on the following 'PR Information', please generate a concise and informative release notes to be read by developers. +Format the release notes with markdown, and always use this structure: a descriptive and very short title (no more than 8 words) with heading level 2, a paragraph with a summary of changes (no header), and sections for '🚀 New Features & Improvements', '🐛 Bugs Fixed' and '🔧 Other Updates', with heading level 3, skip respectively the sections if not applicable. +Finally include the following markdown comment with the PR merged date: . +Avoid being repetitive and focus on the most important changes and their impact, don't mention version bumps, nor changeset files, nor environment variables, nor syntax updates. +PR Information:""" + +# Write the prompt to GITHUB_OUTPUT +with open(GITHUB_OUTPUT, "a") as outputs_file: + outputs_file.write(f"BASE_PROMPT<> $GITHUB_OUTPUT + echo "Based on the following 'PR Information', please generate concise and informative release notes to be read by developers. + + Format the release notes with markdown, and always use this structure: a descriptive and very short title (no more than 8 words) with heading level 2, a paragraph with a summary of changes (no header), and sections for '🚀 New Features & Improvements', '🐛 Bugs Fixed' and '🔧 Other Updates', with heading level 3, skip respectively the sections if not applicable, + finally include the following markdown comment with the PR merged date: . + + Avoid being repetitive and focus on the most important changes and their impact, don't mention version bumps, nor changeset files, nor environment variables, nor syntax updates. + + PR Information:" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + # Github outputs: 'RELEASE_NOTES' and 'OPENAI_PROMPT' - name: AI Release Notes if: ${{ !contains(github.event.pull_request.labels.*.name, 'openai-edited') }} @@ -96,6 +113,7 @@ jobs: model_name: gpt-4o-mini repo_path: ${{ env.REPO_PATH }} git_ref: ${{ env.GIT_REF }} + custom_prompt: ${{ steps.ai_prompt.outputs.BASE_PROMPT }} - name: Update Changeset Changelog if: ${{ !contains(github.event.pull_request.labels.*.name, 'openai-edited') }}