Download .github/workflows/release-notes.yml from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 4.17 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/.github/workflows/release-notes.yml
- Command line
-
hf download hf://SaylorTwift/gemini-cli/.github/workflows/release-notes.yml
-
curl -L -o release-notes.yml https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/.github/workflows/release-notes.yml
4.17 kB
| # 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' | |
| on: | |
| release: | |
| types: ['published'] | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'New version (e.g., v1.2.3)' | |
| required: true | |
| type: 'string' | |
| body: | |
| description: 'Release notes body' | |
| required: true | |
| type: 'string' | |
| time: | |
| description: 'Release time' | |
| required: true | |
| type: 'string' | |
| jobs: | |
| generate-release-notes: | |
| if: "github.repository == 'google-gemini/gemini-cli'" | |
| runs-on: 'ubuntu-latest' | |
| permissions: | |
| contents: 'write' | |
| pull-requests: 'write' | |
| steps: | |
| - name: 'Checkout repository' | |
| uses: 'actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5' # ratchet:actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| # The user-level skills need to be available to the workflow | |
| fetch-depth: 0 | |
| ref: 'main' | |
| - name: 'Set up Node.js' | |
| uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' # ratchet:actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: 'Get release information' | |
| id: 'release_info' | |
| run: | | |
| VERSION="${{ github.event.inputs.version || github.event.release.tag_name }}" | |
| TIME="${{ github.event.inputs.time || github.event.release.created_at }}" | |
| echo "VERSION=${VERSION}" >> "$GITHUB_OUTPUT" | |
| echo "TIME=${TIME}" >> "$GITHUB_OUTPUT" | |
| # Use a heredoc to preserve multiline release body | |
| echo 'RAW_CHANGELOG<<EOF' >> "$GITHUB_OUTPUT" | |
| printf "%s\n" "$BODY" >> "$GITHUB_OUTPUT" | |
| echo 'EOF' >> "$GITHUB_OUTPUT" | |
| env: | |
| GH_TOKEN: '${{ secrets.GEMINI_CLI_ROBOT_GITHUB_PAT }}' | |
| BODY: '${{ github.event.inputs.body || github.event.release.body }}' | |
| - name: 'Validate version' | |
| id: 'validate_version' | |
| run: | | |
| if echo "${{ steps.release_info.outputs.VERSION }}" | grep -q "nightly"; then | |
| echo "Nightly release detected. Stopping workflow." | |
| echo "CONTINUE=false" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "CONTINUE=true" >> "$GITHUB_OUTPUT" | |
| fi | |
| - name: 'Generate Changelog with Gemini' | |
| if: "steps.validate_version.outputs.CONTINUE == 'true'" | |
| uses: 'google-github-actions/run-gemini-cli@a3bf79042542528e91937b3a3a6fbc4967ee3c31' # ratchet:google-github-actions/run-gemini-cli@v0 | |
| env: | |
| GEMINI_CLI_TRUST_WORKSPACE: true | |
| with: | |
| upload_artifacts: 'true' | |
| gemini_api_key: '${{ secrets.GEMINI_API_KEY }}' | |
| prompt: | | |
| Activate the 'docs-changelog' skill. | |
| **Release Information:** | |
| - New Version: ${{ steps.release_info.outputs.VERSION }} | |
| - Release Date: ${{ steps.release_info.outputs.TIME }} | |
| - Raw Changelog Data: ${{ steps.release_info.outputs.RAW_CHANGELOG }} | |
| Execute the release notes generation process using the information provided. | |
| When you are done, please output your thought process and the steps you took for future debugging purposes. | |
| - name: 'Create Pull Request' | |
| if: "steps.validate_version.outputs.CONTINUE == 'true'" | |
| uses: 'peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c' # ratchet:peter-evans/create-pull-request@v6 | |
| with: | |
| token: '${{ secrets.GEMINI_CLI_ROBOT_GITHUB_PAT }}' | |
| 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. | |
| Related to #18505 | |
| branch: 'changelog-${{ steps.release_info.outputs.VERSION }}' | |
| base: 'main' | |
| team-reviewers: 'gemini-cli-docs, gemini-cli-maintainers' | |
| delete-branch: true | |