From 9842b7e7b5599a14d74187d1a88af60547b7e326 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 16 Feb 2026 22:21:25 +0000 Subject: [PATCH 1/3] Initial plan From adf88714f6c0c14a3bd8a7b5871a9b36b9dea00b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 16 Feb 2026 22:23:59 +0000 Subject: [PATCH 2/3] Add max-parallel: 15 strategy to all GitHub workflow jobs Co-authored-by: kevinjqliu <9057843+kevinjqliu@users.noreply.github.com> --- .github/workflows/check-md-link.yml | 2 ++ .github/workflows/license_check.yml | 2 ++ .github/workflows/nightly-pypi-build.yml | 4 ++++ .github/workflows/pypi-build-artifacts.yml | 3 +++ .github/workflows/python-ci-docs.yml | 2 ++ .github/workflows/python-ci.yml | 11 +++++++++++ .github/workflows/python-release-docs.yml | 2 ++ .github/workflows/python-release.yml | 4 ++++ .github/workflows/stale.yml | 2 ++ .github/workflows/svn-build-artifacts.yml | 3 +++ 10 files changed, 35 insertions(+) diff --git a/.github/workflows/check-md-link.yml b/.github/workflows/check-md-link.yml index 6bb71e1d94..1462d79bc7 100644 --- a/.github/workflows/check-md-link.yml +++ b/.github/workflows/check-md-link.yml @@ -35,6 +35,8 @@ on: jobs: markdown-link-check: runs-on: ubuntu-latest + strategy: + max-parallel: 15 steps: - uses: actions/checkout@master - uses: tcort/github-action-markdown-link-check@e7c7a18363c842693fadde5d41a3bd3573a7a225 diff --git a/.github/workflows/license_check.yml b/.github/workflows/license_check.yml index 41a4cb8020..f1dd24bf81 100644 --- a/.github/workflows/license_check.yml +++ b/.github/workflows/license_check.yml @@ -23,6 +23,8 @@ on: pull_request jobs: rat: runs-on: ubuntu-latest + strategy: + max-parallel: 15 steps: - uses: actions/checkout@v6 - run: dev/check-license diff --git a/.github/workflows/nightly-pypi-build.yml b/.github/workflows/nightly-pypi-build.yml index 3f0f15912f..c9f7642951 100644 --- a/.github/workflows/nightly-pypi-build.yml +++ b/.github/workflows/nightly-pypi-build.yml @@ -28,6 +28,8 @@ jobs: set-version: if: github.repository == 'apache/iceberg-python' # Only run for apache repo runs-on: ubuntu-latest + strategy: + max-parallel: 15 outputs: VERSION: ${{ steps.set-version.outputs.VERSION }} steps: @@ -62,6 +64,8 @@ jobs: needs: - nightly-build runs-on: ubuntu-latest + strategy: + max-parallel: 15 environment: name: testpypi url: https://test.pypi.org/p/pyiceberg diff --git a/.github/workflows/pypi-build-artifacts.yml b/.github/workflows/pypi-build-artifacts.yml index 20149a0e1a..8c8db9b4c7 100644 --- a/.github/workflows/pypi-build-artifacts.yml +++ b/.github/workflows/pypi-build-artifacts.yml @@ -31,6 +31,7 @@ jobs: name: Build artifacts for PyPi on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: + max-parallel: 15 matrix: os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-15-intel, macos-latest ] @@ -87,6 +88,8 @@ jobs: pypi-merge-artifacts: runs-on: ubuntu-latest + strategy: + max-parallel: 15 needs: - pypi-build-artifacts steps: diff --git a/.github/workflows/python-ci-docs.yml b/.github/workflows/python-ci-docs.yml index 6b3fc7f4b2..2a8f60c904 100644 --- a/.github/workflows/python-ci-docs.yml +++ b/.github/workflows/python-ci-docs.yml @@ -33,6 +33,8 @@ concurrency: jobs: docs: runs-on: ubuntu-latest + strategy: + max-parallel: 15 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index eb3f726563..501579ae34 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -46,6 +46,7 @@ jobs: lint-and-unit-test: runs-on: ubuntu-latest strategy: + max-parallel: 15 fail-fast: true matrix: python: ['3.10', '3.11', '3.12', '3.13'] @@ -72,6 +73,8 @@ jobs: integration-test: runs-on: ubuntu-latest + strategy: + max-parallel: 15 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -99,6 +102,8 @@ jobs: integration-test-s3: runs-on: ubuntu-latest + strategy: + max-parallel: 15 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -126,6 +131,8 @@ jobs: integration-test-adls: runs-on: ubuntu-latest + strategy: + max-parallel: 15 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -153,6 +160,8 @@ jobs: integration-test-gcs: runs-on: ubuntu-latest + strategy: + max-parallel: 15 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -180,6 +189,8 @@ jobs: integration-coverage-report: runs-on: ubuntu-latest + strategy: + max-parallel: 15 needs: [integration-test, integration-test-s3, integration-test-adls, integration-test-gcs] steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/python-release-docs.yml b/.github/workflows/python-release-docs.yml index 1706ab96fe..3fa0d91ebe 100644 --- a/.github/workflows/python-release-docs.yml +++ b/.github/workflows/python-release-docs.yml @@ -28,6 +28,8 @@ concurrency: jobs: docs: runs-on: ubuntu-latest + strategy: + max-parallel: 15 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/python-release.yml b/.github/workflows/python-release.yml index d02de1fdd2..10c3a1e649 100644 --- a/.github/workflows/python-release.yml +++ b/.github/workflows/python-release.yml @@ -39,6 +39,8 @@ on: jobs: validate-inputs: runs-on: ubuntu-latest + strategy: + max-parallel: 15 outputs: VERSION: ${{ steps.validate-inputs.outputs.VERSION }} # e.g. 0.8.0 RC: ${{ steps.validate-inputs.outputs.RC }} # e.g. 1 @@ -86,6 +88,8 @@ jobs: validate-library-version: runs-on: ubuntu-latest + strategy: + max-parallel: 15 needs: - validate-inputs steps: diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index cb24c6327c..c7372db14d 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -30,6 +30,8 @@ jobs: stale: if: github.repository_owner == 'apache' runs-on: ubuntu-latest + strategy: + max-parallel: 15 steps: - uses: actions/stale@v10.1.1 with: diff --git a/.github/workflows/svn-build-artifacts.yml b/.github/workflows/svn-build-artifacts.yml index 9d72e1db1c..7b73d60d7f 100644 --- a/.github/workflows/svn-build-artifacts.yml +++ b/.github/workflows/svn-build-artifacts.yml @@ -31,6 +31,7 @@ jobs: name: Build artifacts for SVN on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: + max-parallel: 15 matrix: os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-15-intel, macos-latest ] @@ -81,6 +82,8 @@ jobs: svn-merge-artifacts: runs-on: ubuntu-latest + strategy: + max-parallel: 15 needs: - svn-build-artifacts steps: From a6b308689f2173edf23159d184ff966ed7094e3e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 16 Feb 2026 22:30:44 +0000 Subject: [PATCH 3/3] Remove unnecessary max-parallel settings from jobs without matrix Co-authored-by: kevinjqliu <9057843+kevinjqliu@users.noreply.github.com> --- .github/workflows/check-md-link.yml | 2 -- .github/workflows/license_check.yml | 2 -- .github/workflows/nightly-pypi-build.yml | 4 ---- .github/workflows/pypi-build-artifacts.yml | 2 -- .github/workflows/python-ci-docs.yml | 2 -- .github/workflows/python-ci.yml | 10 ---------- .github/workflows/python-release-docs.yml | 2 -- .github/workflows/python-release.yml | 4 ---- .github/workflows/stale.yml | 2 -- .github/workflows/svn-build-artifacts.yml | 2 -- 10 files changed, 32 deletions(-) diff --git a/.github/workflows/check-md-link.yml b/.github/workflows/check-md-link.yml index 1462d79bc7..6bb71e1d94 100644 --- a/.github/workflows/check-md-link.yml +++ b/.github/workflows/check-md-link.yml @@ -35,8 +35,6 @@ on: jobs: markdown-link-check: runs-on: ubuntu-latest - strategy: - max-parallel: 15 steps: - uses: actions/checkout@master - uses: tcort/github-action-markdown-link-check@e7c7a18363c842693fadde5d41a3bd3573a7a225 diff --git a/.github/workflows/license_check.yml b/.github/workflows/license_check.yml index f1dd24bf81..41a4cb8020 100644 --- a/.github/workflows/license_check.yml +++ b/.github/workflows/license_check.yml @@ -23,8 +23,6 @@ on: pull_request jobs: rat: runs-on: ubuntu-latest - strategy: - max-parallel: 15 steps: - uses: actions/checkout@v6 - run: dev/check-license diff --git a/.github/workflows/nightly-pypi-build.yml b/.github/workflows/nightly-pypi-build.yml index c9f7642951..3f0f15912f 100644 --- a/.github/workflows/nightly-pypi-build.yml +++ b/.github/workflows/nightly-pypi-build.yml @@ -28,8 +28,6 @@ jobs: set-version: if: github.repository == 'apache/iceberg-python' # Only run for apache repo runs-on: ubuntu-latest - strategy: - max-parallel: 15 outputs: VERSION: ${{ steps.set-version.outputs.VERSION }} steps: @@ -64,8 +62,6 @@ jobs: needs: - nightly-build runs-on: ubuntu-latest - strategy: - max-parallel: 15 environment: name: testpypi url: https://test.pypi.org/p/pyiceberg diff --git a/.github/workflows/pypi-build-artifacts.yml b/.github/workflows/pypi-build-artifacts.yml index 8c8db9b4c7..da282c6b46 100644 --- a/.github/workflows/pypi-build-artifacts.yml +++ b/.github/workflows/pypi-build-artifacts.yml @@ -88,8 +88,6 @@ jobs: pypi-merge-artifacts: runs-on: ubuntu-latest - strategy: - max-parallel: 15 needs: - pypi-build-artifacts steps: diff --git a/.github/workflows/python-ci-docs.yml b/.github/workflows/python-ci-docs.yml index 2a8f60c904..6b3fc7f4b2 100644 --- a/.github/workflows/python-ci-docs.yml +++ b/.github/workflows/python-ci-docs.yml @@ -33,8 +33,6 @@ concurrency: jobs: docs: runs-on: ubuntu-latest - strategy: - max-parallel: 15 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index 501579ae34..ddc71d174b 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -73,8 +73,6 @@ jobs: integration-test: runs-on: ubuntu-latest - strategy: - max-parallel: 15 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -102,8 +100,6 @@ jobs: integration-test-s3: runs-on: ubuntu-latest - strategy: - max-parallel: 15 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -131,8 +127,6 @@ jobs: integration-test-adls: runs-on: ubuntu-latest - strategy: - max-parallel: 15 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -160,8 +154,6 @@ jobs: integration-test-gcs: runs-on: ubuntu-latest - strategy: - max-parallel: 15 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -189,8 +181,6 @@ jobs: integration-coverage-report: runs-on: ubuntu-latest - strategy: - max-parallel: 15 needs: [integration-test, integration-test-s3, integration-test-adls, integration-test-gcs] steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/python-release-docs.yml b/.github/workflows/python-release-docs.yml index 3fa0d91ebe..1706ab96fe 100644 --- a/.github/workflows/python-release-docs.yml +++ b/.github/workflows/python-release-docs.yml @@ -28,8 +28,6 @@ concurrency: jobs: docs: runs-on: ubuntu-latest - strategy: - max-parallel: 15 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/python-release.yml b/.github/workflows/python-release.yml index 10c3a1e649..d02de1fdd2 100644 --- a/.github/workflows/python-release.yml +++ b/.github/workflows/python-release.yml @@ -39,8 +39,6 @@ on: jobs: validate-inputs: runs-on: ubuntu-latest - strategy: - max-parallel: 15 outputs: VERSION: ${{ steps.validate-inputs.outputs.VERSION }} # e.g. 0.8.0 RC: ${{ steps.validate-inputs.outputs.RC }} # e.g. 1 @@ -88,8 +86,6 @@ jobs: validate-library-version: runs-on: ubuntu-latest - strategy: - max-parallel: 15 needs: - validate-inputs steps: diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index c7372db14d..cb24c6327c 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -30,8 +30,6 @@ jobs: stale: if: github.repository_owner == 'apache' runs-on: ubuntu-latest - strategy: - max-parallel: 15 steps: - uses: actions/stale@v10.1.1 with: diff --git a/.github/workflows/svn-build-artifacts.yml b/.github/workflows/svn-build-artifacts.yml index 7b73d60d7f..1dbd6ac574 100644 --- a/.github/workflows/svn-build-artifacts.yml +++ b/.github/workflows/svn-build-artifacts.yml @@ -82,8 +82,6 @@ jobs: svn-merge-artifacts: runs-on: ubuntu-latest - strategy: - max-parallel: 15 needs: - svn-build-artifacts steps: