name: Update dependencies
permissions:
  contents: read

on:
  schedule:
    - cron: '0 2 * * *'
  workflow_dispatch:

jobs:
  update-dependencies:
    permissions:
      contents: write
      pull-requests: write
    name: Update dependencies
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3

      # Checkout the depot tools they are needed by roll_deps.sh
      - name: Checkout depot tools
        run: git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

      - name: Update PATH
        run: echo "$(pwd)/depot_tools" >> $GITHUB_PATH

      - name: Download dependencies
        run: python3 utils/git-sync-deps

      - name: Setup git user information
        run: |
          git config user.name "GitHub Actions[bot]"
          git config user.email "<>"
          git checkout -b roll_deps

      - name: Update dependencies
        run: |
          utils/roll_deps.sh
          if [[ `git diff HEAD..origin/main --name-only | wc -l` == 0 ]]; then
            echo "changed=false" >> $GITHUB_OUTPUT
          else
            echo "changed=true" >> $GITHUB_OUTPUT
          fi
        id: update_dependencies
      - name: Push changes and create PR
        if: steps.update_dependencies.outputs.changed == 'true'
        run: |
          git push --force --set-upstream origin roll_deps
          # Create a PR. If it aready exists, the command fails, so ignore the return code.
          gh pr create --base main -f || true 
          # Add the 'kokoro:run' label so that the kokoro tests will be run.
          gh pr edit --add-label 'kokoro:run'
          gh pr merge --auto --squash
        env:
          GITHUB_TOKEN: ${{ github.token }}
