From 018694510bf288a99ea35be777c3cdc9c010ed6b Mon Sep 17 00:00:00 2001 From: Boni Garcia Date: Mon, 17 Nov 2025 10:08:26 +0100 Subject: [PATCH] [ci] Use pagination in mirror workflow to get all Selenium releases --- .../workflows/mirror-selenium-releases.yml | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mirror-selenium-releases.yml b/.github/workflows/mirror-selenium-releases.yml index 0eda3837448e6..6a5a7471ee4fe 100644 --- a/.github/workflows/mirror-selenium-releases.yml +++ b/.github/workflows/mirror-selenium-releases.yml @@ -16,9 +16,26 @@ jobs: fetch-depth: 0 - name: Read api.github.com and filter response run: | + set -euo pipefail cd common/mirror - export JQ_FILTER="[.[] | {tag_name: .tag_name, assets: [.assets[] | {browser_download_url: .browser_download_url} ] } ]" - curl -H "Authorization: ${{ secrets.GITHUB_TOKEN }}" https://api.github.com/repos/SeleniumHQ/selenium/releases | jq "$JQ_FILTER" > selenium + TOKEN="${{ secrets.GITHUB_TOKEN }}" + JQ_FILTER='[.[] | {tag_name: .tag_name, assets: [.assets[] | {browser_download_url: .browser_download_url} ] } ]' + page=1 + tmpfile="$(mktemp)" + : > "$tmpfile" + while :; do + echo "Fetching SeleniumHQ/selenium releases page $page..." + resp=$(curl -fsSL \ + -H "Authorization: token $TOKEN" \ + "https://api.github.com/repos/SeleniumHQ/selenium/releases?per_page=100&page=${page}") + if [ "$(echo "$resp" | jq 'length')" -eq 0 ]; then + break + fi + echo "$resp" | jq "$JQ_FILTER" >> "$tmpfile" + page=$((page+1)) + done + jq -s 'add' "$tmpfile" > selenium + rm "$tmpfile" - name: Commit files id: git run: |