diff --git a/.github/workflows/bazel.yml b/.github/workflows/bazel.yml index 70dfd17205a53..fc406943faf71 100644 --- a/.github/workflows/bazel.yml +++ b/.github/workflows/bazel.yml @@ -140,3 +140,12 @@ jobs: title: "Nightly" prerelease: true files: ${{ inputs.nightly-release-files }} + - name: Save changes + run: | + git diff > changes.patch + - name: "Upload changes" + uses: actions/upload-artifact@v3 + with: + name: patch-file + path: changes.patch + retention-days: 6 diff --git a/.github/workflows/pin-browsers.yml b/.github/workflows/pin-browsers.yml new file mode 100644 index 0000000000000..686c1706b2548 --- /dev/null +++ b/.github/workflows/pin-browsers.yml @@ -0,0 +1,47 @@ +name: Pin Browsers +on: + schedule: + - cron: 10 0 * * * + workflow_dispatch: + +jobs: + update: + name: Update Pinned Browsers + uses: ./.github/workflows/bazel.yml + with: + name: Pin Browsers + cache-key: pin-browsers + run: bazel run //scripts:pinned_browsers + + pull-request: + if: github.repository_owner == 'seleniumhq' + runs-on: ubuntu-latest + needs: update + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Download patch + uses: actions/download-artifact@v4 + with: + name: patch-file + - name: Apply Patch + run: | + git apply changes.patch + rm changes.patch + - name: Check Changes + run: | + if [[ -n $(git status --porcelain common/repositories.bzl) ]]; then + echo "CHANGES_FOUND=true" >> $GITHUB_ENV + fi + - name: Create Pull Request + if: env.CHANGES_FOUND == 'true' + uses: peter-evans/create-pull-request@v5 + with: + token: ${{ secrets.SELENIUM_CI_TOKEN }} + add-paths: common/repositories.bzl + commit-message: Update pinned browser versions + committer: Selenium CI Bot + author: Selenium CI Bot + title: "Automated Browser Version Update" + body: "This is an automated pull request to update pinned browsers and drivers" + branch: "pinned-browser-updates"