From b7d21ba893917293062da4895540533ab1b874e8 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 14:42:25 -0700 Subject: [PATCH 01/16] =?UTF-8?q?=F0=9F=91=B7=20Add=20workflow=20to=20run?= =?UTF-8?q?=20tests=20on=20CPython=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-main.yml | 54 +++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/test-cpython-main.yml diff --git a/.github/workflows/test-cpython-main.yml b/.github/workflows/test-cpython-main.yml new file mode 100644 index 0000000000..8bf2b19a63 --- /dev/null +++ b/.github/workflows/test-cpython-main.yml @@ -0,0 +1,54 @@ +name: Test CPython Main + +on: + push: + branches: + - master + schedule: + - cron: "0 0 * * *" + workflow_dispatch: + +jobs: + test-latest-python: + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v5 + - name: Checkout CPython main + uses: actions/checkout@v5 + with: + repository: python/cpython + ref: main + path: cpython + - name: Install CPython build dependencies + run: sudo apt-get update && sudo apt-get install -y build-essential pkg-config libssl-dev zlib1g-dev + - name: Build CPython + run: | + cd cpython + ./configure --with-pydebug + make -j4 + - name: Setup uv + uses: astral-sh/setup-uv@v7 + with: + version: "0.4.15" + enable-cache: true + cache-dependency-glob: | + requirements**.txt + pyproject.toml + - name: Install Dependencies + run: ./cpython/python -m pip install uv && ./cpython/python -m uv pip install --system -r requirements-tests.txt + - name: Lint + run: bash scripts/lint.sh + - run: mkdir coverage + - run: bash ./scripts/test-files.sh + - name: Test + run: bash scripts/test.sh + env: + COVERAGE_FILE: coverage/.coverage.ubuntu-cpython-main + CONTEXT: ubuntu-cpython-main + - name: Store coverage files + uses: actions/upload-artifact@v4 + with: + name: coverage-ubuntu-cpython-main + path: coverage + include-hidden-files: true From c307f576a76169fe8927560758c3df3c95f82495 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 14:52:31 -0700 Subject: [PATCH 02/16] =?UTF-8?q?=E2=9C=8F=EF=B8=8F=20Fix=20typo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-main.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test-cpython-main.yml b/.github/workflows/test-cpython-main.yml index 8bf2b19a63..57d9971766 100644 --- a/.github/workflows/test-cpython-main.yml +++ b/.github/workflows/test-cpython-main.yml @@ -27,16 +27,16 @@ jobs: cd cpython ./configure --with-pydebug make -j4 - - name: Setup uv - uses: astral-sh/setup-uv@v7 - with: - version: "0.4.15" - enable-cache: true - cache-dependency-glob: | - requirements**.txt - pyproject.toml + # - name: Setup uv + # uses: astral-sh/setup-uv@v7 + # with: + # version: "0.4.15" + # enable-cache: true + # cache-dependency-glob: | + # requirements**.txt + # pyproject.toml - name: Install Dependencies - run: ./cpython/python -m pip install uv && ./cpython/python -m uv pip install --system -r requirements-tests.txt + run: ./cpython/python -m uv pip install --system -r requirements-tests.txt - name: Lint run: bash scripts/lint.sh - run: mkdir coverage From 132a5fdd9bd43b59c96e7c56ed513788346ff07d Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 15:00:18 -0700 Subject: [PATCH 03/16] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Move=20to=20nightly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...thon-main.yml => test-cpython-nightly.yml} | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) rename .github/workflows/{test-cpython-main.yml => test-cpython-nightly.yml} (80%) diff --git a/.github/workflows/test-cpython-main.yml b/.github/workflows/test-cpython-nightly.yml similarity index 80% rename from .github/workflows/test-cpython-main.yml rename to .github/workflows/test-cpython-nightly.yml index 57d9971766..f3c5147413 100644 --- a/.github/workflows/test-cpython-main.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -1,9 +1,6 @@ -name: Test CPython Main +name: Test CPython Nightly on: - push: - branches: - - master schedule: - cron: "0 0 * * *" workflow_dispatch: @@ -27,14 +24,14 @@ jobs: cd cpython ./configure --with-pydebug make -j4 - # - name: Setup uv - # uses: astral-sh/setup-uv@v7 - # with: - # version: "0.4.15" - # enable-cache: true - # cache-dependency-glob: | - # requirements**.txt - # pyproject.toml + - name: Setup uv + uses: astral-sh/setup-uv@v7 + with: + version: "0.4.15" + enable-cache: true + cache-dependency-glob: | + requirements**.txt + pyproject.toml - name: Install Dependencies run: ./cpython/python -m uv pip install --system -r requirements-tests.txt - name: Lint From a9f7215ad54e63b86cd96009c185e6a2d7c06b1f Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 15:07:47 -0700 Subject: [PATCH 04/16] =?UTF-8?q?=F0=9F=A6=BA=20Validating?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index f3c5147413..6d626b4433 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -1,6 +1,9 @@ name: Test CPython Nightly on: + push: + branches: + - run-ci-on-cpython-main schedule: - cron: "0 0 * * *" workflow_dispatch: From 13aab098efe21e3a80adf9042ad809af1474f301 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 15:15:54 -0700 Subject: [PATCH 05/16] =?UTF-8?q?=F0=9F=90=9B=20Fix=20uv?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index 6d626b4433..8dff14951a 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -36,7 +36,7 @@ jobs: requirements**.txt pyproject.toml - name: Install Dependencies - run: ./cpython/python -m uv pip install --system -r requirements-tests.txt + run: uv pip install --python ./cpython/python --system -r requirements-tests.txt - name: Lint run: bash scripts/lint.sh - run: mkdir coverage From e500021c448dda66ab9a3c3239ffe2799930e91e Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 15:22:01 -0700 Subject: [PATCH 06/16] =?UTF-8?q?=F0=9F=90=9B=20Debugging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index 8dff14951a..521db60c25 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -36,7 +36,7 @@ jobs: requirements**.txt pyproject.toml - name: Install Dependencies - run: uv pip install --python ./cpython/python --system -r requirements-tests.txt + run: uv pip install --python ./cpython/python -r requirements-tests.txt -v - name: Lint run: bash scripts/lint.sh - run: mkdir coverage From 2f43d8d14e53ecfd779f2b75e78d19947380b658 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 15:32:17 -0700 Subject: [PATCH 07/16] =?UTF-8?q?=F0=9F=90=9B=20Add=20UV=5FSYSTEM=5FPYTHON?= =?UTF-8?q?=20env=20var?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index 521db60c25..842f9b08a7 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -8,6 +8,9 @@ on: - cron: "0 0 * * *" workflow_dispatch: +env: + UV_SYSTEM_PYTHON: 1 + jobs: test-latest-python: runs-on: ubuntu-latest @@ -36,7 +39,7 @@ jobs: requirements**.txt pyproject.toml - name: Install Dependencies - run: uv pip install --python ./cpython/python -r requirements-tests.txt -v + run: uv pip install --python ./cpython/python -r requirements-tests.txt - name: Lint run: bash scripts/lint.sh - run: mkdir coverage From 889a7f5ca8dd1b7fb9f4d9c34836e44bd6b44f31 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 15:39:53 -0700 Subject: [PATCH 08/16] =?UTF-8?q?=F0=9F=90=9B=20Debugging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index 842f9b08a7..9a556f4867 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -8,9 +8,6 @@ on: - cron: "0 0 * * *" workflow_dispatch: -env: - UV_SYSTEM_PYTHON: 1 - jobs: test-latest-python: runs-on: ubuntu-latest @@ -38,8 +35,10 @@ jobs: cache-dependency-glob: | requirements**.txt pyproject.toml + - name: Create venv with CPython + run: uv venv --python ./cpython/python - name: Install Dependencies - run: uv pip install --python ./cpython/python -r requirements-tests.txt + run: uv pip install -r requirements-tests.txt - name: Lint run: bash scripts/lint.sh - run: mkdir coverage From c0c95c730e7b2e94116648a363894b7657b704a7 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 15:45:28 -0700 Subject: [PATCH 09/16] =?UTF-8?q?=F0=9F=90=9B=20Use=20uv=20run=20for=20scr?= =?UTF-8?q?ipts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index 9a556f4867..47066eef1b 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -40,11 +40,11 @@ jobs: - name: Install Dependencies run: uv pip install -r requirements-tests.txt - name: Lint - run: bash scripts/lint.sh + run: uv run bash scripts/lint.sh - run: mkdir coverage - - run: bash ./scripts/test-files.sh + - run: uv run bash ./scripts/test-files.sh - name: Test - run: bash scripts/test.sh + run: uv run bash scripts/test.sh env: COVERAGE_FILE: coverage/.coverage.ubuntu-cpython-main CONTEXT: ubuntu-cpython-main From 21ae108b2fa69a0a584c9a3279f75f47f7af321d Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 15:58:53 -0700 Subject: [PATCH 10/16] =?UTF-8?q?=F0=9F=90=9B=20Debugging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index 47066eef1b..904453fbf3 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -25,8 +25,7 @@ jobs: - name: Build CPython run: | cd cpython - ./configure --with-pydebug - make -j4 + ./configure && make -j $(nproc) - name: Setup uv uses: astral-sh/setup-uv@v7 with: @@ -40,11 +39,17 @@ jobs: - name: Install Dependencies run: uv pip install -r requirements-tests.txt - name: Lint - run: uv run bash scripts/lint.sh + run: | + source .venv/bin/activate + bash scripts/lint.sh - run: mkdir coverage - - run: uv run bash ./scripts/test-files.sh + - run: | + source .venv/bin/activate + bash ./scripts/test-files.sh - name: Test - run: uv run bash scripts/test.sh + run: | + source .venv/bin/activate + bash scripts/test.sh env: COVERAGE_FILE: coverage/.coverage.ubuntu-cpython-main CONTEXT: ubuntu-cpython-main From 336c65763acd6db860b5f72ad926c2d86377afa7 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 16:45:03 -0700 Subject: [PATCH 11/16] =?UTF-8?q?=F0=9F=90=9B=20Tweak=20GHA=20and=20also?= =?UTF-8?q?=20bump=20mypy=20to=20accommodate=203.15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 2 +- requirements-tests.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index 904453fbf3..b8804a32cc 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -49,7 +49,7 @@ jobs: - name: Test run: | source .venv/bin/activate - bash scripts/test.sh + bash scripts/test.sh --ignore=cpython env: COVERAGE_FILE: coverage/.coverage.ubuntu-cpython-main CONTEXT: ubuntu-cpython-main diff --git a/requirements-tests.txt b/requirements-tests.txt index 8b1411d6d7..ca049bbc61 100644 --- a/requirements-tests.txt +++ b/requirements-tests.txt @@ -5,7 +5,7 @@ pytest-cov >=2.10.0,<8.0.0 coverage[toml] >=6.2,<8.0 pytest-xdist >=1.32.0,<4.0.0 pytest-sugar >=0.9.4,<1.2.0 -mypy ==1.4.1 +mypy ==1.18.2 ruff ==0.13.3 # Needed explicitly by typer-slim rich >=10.11.0 From 3fa2d67f0e77ef128f37864da554124673f43fbf Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 16:55:27 -0700 Subject: [PATCH 12/16] =?UTF-8?q?=E2=8F=AA=EF=B8=8F=20Remove=20test=20line?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index b8804a32cc..d9ea542208 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -1,9 +1,6 @@ name: Test CPython Nightly on: - push: - branches: - - run-ci-on-cpython-main schedule: - cron: "0 0 * * *" workflow_dispatch: From e648e0ae2af1b00fa0949005906d9de403347994 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Fri, 10 Oct 2025 17:58:04 -0700 Subject: [PATCH 13/16] =?UTF-8?q?=F0=9F=90=9B=20Testing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index d9ea542208..eda59cc85b 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -4,6 +4,9 @@ on: schedule: - cron: "0 0 * * *" workflow_dispatch: + push: + branches: + - run-ci-on-cpython-main jobs: test-latest-python: @@ -16,12 +19,12 @@ jobs: with: repository: python/cpython ref: main - path: cpython + path: ${{ runner.temp }}/cpython - name: Install CPython build dependencies run: sudo apt-get update && sudo apt-get install -y build-essential pkg-config libssl-dev zlib1g-dev - name: Build CPython run: | - cd cpython + cd ${{ runner.temp }}/cpython ./configure && make -j $(nproc) - name: Setup uv uses: astral-sh/setup-uv@v7 @@ -32,21 +35,17 @@ jobs: requirements**.txt pyproject.toml - name: Create venv with CPython - run: uv venv --python ./cpython/python + run: uv venv --python ${{ runner.temp }}/cpython/python .venv - name: Install Dependencies run: uv pip install -r requirements-tests.txt + - name: Activate venv + run: echo "$PWD/.venv/bin" >> $GITHUB_PATH - name: Lint - run: | - source .venv/bin/activate - bash scripts/lint.sh + run: bash scripts/lint.sh - run: mkdir coverage - - run: | - source .venv/bin/activate - bash ./scripts/test-files.sh + - run: bash ./scripts/test-files.sh - name: Test - run: | - source .venv/bin/activate - bash scripts/test.sh --ignore=cpython + run: bash scripts/test.sh env: COVERAGE_FILE: coverage/.coverage.ubuntu-cpython-main CONTEXT: ubuntu-cpython-main From 921b73d9b467923e0e80bdee7684dbca1a0618c5 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Sat, 11 Oct 2025 15:16:22 -0700 Subject: [PATCH 14/16] =?UTF-8?q?=F0=9F=90=9B=20Use=20./.cpython=20to=20pr?= =?UTF-8?q?event=20test=20interference?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index eda59cc85b..2262b1313f 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: push: branches: - - run-ci-on-cpython-main + - main jobs: test-latest-python: @@ -19,12 +19,12 @@ jobs: with: repository: python/cpython ref: main - path: ${{ runner.temp }}/cpython + path: ./.cpython - name: Install CPython build dependencies run: sudo apt-get update && sudo apt-get install -y build-essential pkg-config libssl-dev zlib1g-dev - name: Build CPython run: | - cd ${{ runner.temp }}/cpython + cd ./.cpython ./configure && make -j $(nproc) - name: Setup uv uses: astral-sh/setup-uv@v7 @@ -35,7 +35,7 @@ jobs: requirements**.txt pyproject.toml - name: Create venv with CPython - run: uv venv --python ${{ runner.temp }}/cpython/python .venv + run: uv venv --python ./.cpython/python .venv - name: Install Dependencies run: uv pip install -r requirements-tests.txt - name: Activate venv From c8dfe75c08023cb9fdda3b89bd8f3baa5f3a4d8b Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Sat, 11 Oct 2025 15:17:00 -0700 Subject: [PATCH 15/16] =?UTF-8?q?=F0=9F=90=9B=20Add=20debug=20line=20back?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index 2262b1313f..c628073657 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: push: branches: - - main + - run-ci-on-cpython-main jobs: test-latest-python: From 7ede6b1e58882559e8e68af206568d3d66d2bf2f Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Sat, 11 Oct 2025 15:25:29 -0700 Subject: [PATCH 16/16] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Remove=20debug=20lin?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-cpython-nightly.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test-cpython-nightly.yml b/.github/workflows/test-cpython-nightly.yml index c628073657..c380e5e40d 100644 --- a/.github/workflows/test-cpython-nightly.yml +++ b/.github/workflows/test-cpython-nightly.yml @@ -4,9 +4,6 @@ on: schedule: - cron: "0 0 * * *" workflow_dispatch: - push: - branches: - - run-ci-on-cpython-main jobs: test-latest-python: