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