From 2641109c6aef860686b6424426aad7f27704f70a Mon Sep 17 00:00:00 2001 From: mattip Date: Tue, 29 Sep 2026 16:33:54 +0300 Subject: [PATCH 1/4] add pypy3.12 wheel --- .github/workflows/cibuildwheel.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index cd9d4c7..1519de6 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -52,7 +52,7 @@ jobs: build_pypy_wheels: - name: Build pypy wheels + name: Build pypy wheels and sdist runs-on: ubuntu-24.04 strategy: fail-fast: false @@ -62,7 +62,7 @@ jobs: - uses: actions/checkout@v7 - uses: actions/setup-python@v7 with: - python-version: 'pypy-3.11' + python-version: ['pypy-3.11', 'pypy-3.12'] - name: Install system libraries run: sudo apt install -y libunwind-dev libelf-dev libdwarf-dev rename From 06a70432098edddfd8195ffcf803553fe67aeb17 Mon Sep 17 00:00:00 2001 From: mattip Date: Tue, 29 Sep 2026 17:11:44 +0300 Subject: [PATCH 2/4] redo workflows --- .github/workflows/cibuildwheel.yml | 6 +++--- .github/workflows/tests.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 1519de6..091d8fe 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -1,12 +1,12 @@ -name: build-wheels +name: cibuildwheel # Controls when the workflow will run on: # Triggers the workflow on push or pull request events but only for the master branch push: - branches: [ master, unstuck-vmprof ] + branches: [ master ] pull_request: - branches: [ master, unstuck-vmprof ] + branches: [ master ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1514a3f..ac50c3b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,9 +2,9 @@ name: test on: push: - branches: [master, unstuck-vmprof] + branches: [master] pull_request: - branches: [master, unstuck-vmprof] + branches: [master] workflow_dispatch: jobs: From 44904dbba5e68f42243792b1605ac37df05a565c Mon Sep 17 00:00:00 2001 From: mattip Date: Tue, 29 Sep 2026 17:14:08 +0300 Subject: [PATCH 3/4] fix workflow --- .github/workflows/cibuildwheel.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cibuildwheel.yml b/.github/workflows/cibuildwheel.yml index 091d8fe..2ee8a4a 100644 --- a/.github/workflows/cibuildwheel.yml +++ b/.github/workflows/cibuildwheel.yml @@ -56,13 +56,15 @@ jobs: runs-on: ubuntu-24.04 strategy: fail-fast: false + matrix: + python_version: ['pypy-3.11', 'pypy-3.12'] steps: # Note: not inside a docker - uses: actions/checkout@v7 - uses: actions/setup-python@v7 with: - python-version: ['pypy-3.11', 'pypy-3.12'] + python-version: ${{ matrix.python_version }} - name: Install system libraries run: sudo apt install -y libunwind-dev libelf-dev libdwarf-dev rename From 611c7d9d25cc7850af449a5e82560b918f4e3b12 Mon Sep 17 00:00:00 2001 From: mattip Date: Tue, 29 Sep 2026 17:19:37 +0300 Subject: [PATCH 4/4] fix test for pypy3.12 --- vmprof/test/test_run.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vmprof/test/test_run.py b/vmprof/test/test_run.py index 790226e..97db82c 100644 --- a/vmprof/test/test_run.py +++ b/vmprof/test/test_run.py @@ -191,7 +191,9 @@ def test_nested_call(): t = t[''] assert len(t.children) == 1 assert 'function_foo' in t[''].name - if sys.version_info >= (3, 12): + # PEP 709 (inlined comprehensions) is CPython 3.12+, PyPy still creates + # a separate code object and frame. + if sys.version_info >= (3, 12) and '__pypy__' not in sys.builtin_module_names: assert len(t[''].children) == 0 else: assert len(t[''].children) == 1