blob: 71e433b90638ac04a51a59d6a595c0b1c4f60d31 [file] [edit]
name: Dependency Updates
on:
schedule:
- cron: 0 7 * * 1
workflow_dispatch:
permissions:
contents: read
jobs:
update:
name: Update Dependencies
uses: ./.github/workflows/bazel.yml
with:
name: Update Dependencies
run: ./go update
artifact-name: dependency-updates
create-pr:
name: Create Pull Request
if: github.event.repository.fork == false
runs-on: ubuntu-latest
needs: update
permissions:
contents: write
pull-requests: write
actions: read
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Download patch
uses: actions/download-artifact@v8
with:
pattern: dependency-updates
merge-multiple: true
- name: Apply patch
id: apply
run: |
if [ -s changes.patch ]; then
git apply --index changes.patch
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
rm -f changes.patch
- name: Create Pull Request
if: steps.apply.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.SELENIUM_CI_TOKEN }}
commit-message: "update dependencies and pinned binaries"
author: Selenium CI Bot <selenium-ci@users.noreply.github.com>
base: trunk
title: "[build] Automated Dependency Update"
body: |
This is an automated pull request to update each binding's dependencies, the Rust
crates, and the pinned multitool binaries.
Merge after verifying the new versions are properly passing the tests.
branch: automated-dependency-updates
labels: C-build
on-failure:
name: On Dependency Update Failure
runs-on: ubuntu-latest
needs: [update, create-pr]
if: failure() || cancelled()
steps:
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_ICON_EMOJI: ":rotating_light:"
SLACK_COLOR: failure
SLACK_CHANNEL: selenium-tlc
SLACK_USERNAME: GitHub Workflows
SLACK_TITLE: Needs Investigation
SLACK_MESSAGE: "Unable to create the weekly Updates PR"
MSG_MINIMAL: actions url
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}