Update gemini-webapi #52
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Update gemini-webapi | |
| on: | |
| schedule: | |
| - cron: "0 0 * * *" # Runs every day at midnight | |
| workflow_dispatch: | |
| jobs: | |
| update-dep: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| version: "latest" | |
| - name: Update gemini-webapi | |
| id: update | |
| run: | | |
| # Install dependencies first to enable uv pip show | |
| uv sync | |
| # Get current version of gemini-webapi before upgrade | |
| OLD_VERSION=$(uv pip show gemini-webapi 2>/dev/null | grep ^Version: | awk '{print $2}') | |
| if [ -z "$OLD_VERSION" ]; then | |
| echo "Error: Could not extract current gemini-webapi version" >&2 | |
| exit 1 | |
| fi | |
| echo "Current gemini-webapi version: $OLD_VERSION" | |
| # Update the package using uv, which handles pyproject.toml and uv.lock | |
| uv add --upgrade gemini-webapi | |
| # Get new version of gemini-webapi after upgrade | |
| NEW_VERSION=$(uv pip show gemini-webapi | grep ^Version: | awk '{print $2}') | |
| if [ -z "$NEW_VERSION" ]; then | |
| echo "Error: Could not extract new gemini-webapi version" >&2 | |
| exit 1 | |
| fi | |
| echo "New gemini-webapi version: $NEW_VERSION" | |
| # Only proceed if gemini-webapi version has changed | |
| if [ "$OLD_VERSION" != "$NEW_VERSION" ]; then | |
| echo "gemini-webapi has been updated from $OLD_VERSION to $NEW_VERSION" | |
| echo "updated=true" >> $GITHUB_OUTPUT | |
| echo "version=$NEW_VERSION" >> $GITHUB_OUTPUT | |
| else | |
| echo "No updates available for gemini-webapi (version $OLD_VERSION unchanged)" | |
| echo "updated=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Create Pull Request | |
| if: steps.update.outputs.updated == 'true' | |
| uses: peter-evans/create-pull-request@v6 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| commit-message: ":arrow_up: update gemini-webapi to ${{ steps.update.outputs.version }}" | |
| title: ":arrow_up: update gemini-webapi to ${{ steps.update.outputs.version }}" | |
| body: | | |
| Update `gemini-webapi` to version `${{ steps.update.outputs.version }}`. | |
| Auto-generated by GitHub Actions using `uv`. | |
| branch: update-gemini-webapi | |
| base: main | |
| delete-branch: true | |
| labels: dependency, automated |