diff --git a/.github/workflows/release-notes.yml b/.github/workflows/release-notes.yml index dba635860e..33a5af968a 100644 --- a/.github/workflows/release-notes.yml +++ b/.github/workflows/release-notes.yml @@ -1,48 +1,48 @@ # This workflow is triggered on every new release. # It uses Gemini to generate release notes and creates a PR with the changes. -name: Generate Release Notes +name: 'Generate Release Notes' on: release: - types: [created] + types: ['created'] jobs: generate-release-notes: - runs-on: ubuntu-latest + runs-on: 'ubuntu-latest' permissions: - contents: write - pull-requests: write + contents: 'write' + pull-requests: 'write' steps: - - name: Checkout repository - uses: actions/checkout@v4 + - name: 'Checkout repository' + uses: 'actions/checkout@v4' with: # The user-level skills need to be available to the workflow fetch-depth: 0 - - name: Set up Node.js - uses: actions/setup-node@v4 + - name: 'Set up Node.js' + uses: 'actions/setup-node@v4' with: node-version: '20' - - name: Get release information - id: release_info + - name: 'Get release information' + id: 'release_info' run: | echo "VERSION=${{ github.event.release.tag_name }}" >> "$GITHUB_OUTPUT" - + # Use a heredoc to preserve multiline release body echo 'RAW_CHANGELOG<> "$GITHUB_OUTPUT" echo "${{ github.event.release.body }}" >> "$GITHUB_OUTPUT" echo 'EOF' >> "$GITHUB_OUTPUT" env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Generate Changelog with Gemini + GH_TOKEN: '${{ secrets.GITHUB_TOKEN }}' + + - name: 'Generate Changelog with Gemini' uses: 'google-github-actions/run-gemini-cli@a3bf79042542528e91937b3a3a6fbc4967ee3c31' # ratchet:google-github-actions/run-gemini-cli@v0 env: - VERSION: ${{ steps.release_info.outputs.VERSION }} - RAW_CHANGELOG: ${{ steps.release_info.outputs.RAW_CHANGELOG }} + VERSION: '${{ steps.release_info.outputs.VERSION }}' + RAW_CHANGELOG: '${{ steps.release_info.outputs.RAW_CHANGELOG }}' with: - gemini_api_key: ${{ secrets.GEMINI_API_KEY }} + gemini_api_key: '${{ secrets.GEMINI_API_KEY }}' prompt: | Activate the 'docs-changelog' skill. @@ -53,15 +53,15 @@ jobs: Execute the release notes generation process using the information provided. - - name: Create Pull Request - uses: peter-evans/create-pull-request@v6 + - name: 'Create Pull Request' + uses: 'peter-evans/create-pull-request@v6' with: - token: ${{ secrets.GITHUB_TOKEN }} - commit-message: "docs(changelog): update for ${{ steps.release_info.outputs.VERSION }}" - title: "Changelog for ${{ steps.release_info.outputs.VERSION }}" + token: '${{ secrets.GITHUB_TOKEN }}' + commit-message: 'docs(changelog): update for ${{ steps.release_info.outputs.VERSION }}' + title: 'Changelog for ${{ steps.release_info.outputs.VERSION }}' body: | This PR contains the auto-generated changelog for the ${{ steps.release_info.outputs.VERSION }} release. Please review and merge. - branch: "changelog-${{ steps.release_info.outputs.VERSION }}" + branch: 'changelog-${{ steps.release_info.outputs.VERSION }}' delete-branch: true