diff --git a/.github/workflows/bazel.yml b/.github/workflows/bazel.yml index 70dfd17205a53..2ee838985ba0a 100644 --- a/.github/workflows/bazel.yml +++ b/.github/workflows/bazel.yml @@ -126,6 +126,8 @@ jobs: run: sudo safaridriver --enable - name: Run Bazel run: ${{ inputs.run }} + - name: Echo Git Status + run: git status - name: Start SSH session if: failure() && runner.debug == '1' uses: mxschmitt/action-tmate@v3 @@ -140,3 +142,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..51a15027acca0 --- /dev/null +++ b/.github/workflows/pin-browsers.yml @@ -0,0 +1,48 @@ +name: Pin Browsers +on: + schedule: + - cron: 10 0 * * * + workflow_dispatch: + # TODO remove this before merging to trunk + pull_request: + +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: + runs-on: ubuntu-latest + needs: update + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Download patch + uses: actions/download-artifact@v2 + 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"