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 }}