From 3c26b44cccfeea354e98d07a38eceb324acf1ec4 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 14:55:41 +0000 Subject: [PATCH 01/10] Add pinned dev version of ast_serialize to CI --- .github/workflows/test.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 92aa38f437db4..f071795845053 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -213,6 +213,28 @@ jobs: pip install -r test-requirements.txt CC=clang MYPYC_OPT_LEVEL=0 MYPY_USE_MYPYC=1 pip install -e . + # To speed-up process until ast_serialize is on PyPI. + - name: Checkout pinned ast_serialize + uses: actions/checkout@v4 + with: + persist-credentials: false + repository: mypyc/ast_serialize + ref: 038d30db8c3428310a5d69c151feeebf31160a08 + path: ast_serialize + + - run: | + cd ast_serialize + + - name: Install development version of ast_serialize + uses: PyO3/maturin-action@v1 + with: + command: develop + args: --release + + - run: | + cd .. + python3 -c 'import ast_serialize; print(ast_serialize("no way")[1])' + - name: Setup tox environment run: | tox run -e ${{ matrix.toxenv }} --notest From 51fa0edd31ff433bb12b336ffdc0c24a4a38fb53 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 15:22:00 +0000 Subject: [PATCH 02/10] Try a different way --- .github/workflows/test.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f071795845053..92b22b3a9d0d2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -215,6 +215,7 @@ jobs: # To speed-up process until ast_serialize is on PyPI. - name: Checkout pinned ast_serialize + if: ${{ matrix.os == 'ubuntu-24.04-arm' }} uses: actions/checkout@v4 with: persist-credentials: false @@ -222,16 +223,21 @@ jobs: ref: 038d30db8c3428310a5d69c151feeebf31160a08 path: ast_serialize - - run: | + - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} + run: | cd ast_serialize - name: Install development version of ast_serialize + іf: ${{ matrix.os == 'ubuntu-24.04-arm' }} uses: PyO3/maturin-action@v1 with: - command: develop - args: --release + target: aarch64 + args: --release --out dist - - run: | + - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} + run: | + ls dist + pip install dist/* cd .. python3 -c 'import ast_serialize; print(ast_serialize("no way")[1])' From 28396a14ed8a3ff0d260d42b8a0d211aa3ceb008 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 15:29:31 +0000 Subject: [PATCH 03/10] Hm... --- .github/workflows/test.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 92b22b3a9d0d2..0753366642afc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -227,8 +227,7 @@ jobs: run: | cd ast_serialize - - name: Install development version of ast_serialize - іf: ${{ matrix.os == 'ubuntu-24.04-arm' }} + - іf: ${{ matrix.os == 'ubuntu-24.04-arm' }} uses: PyO3/maturin-action@v1 with: target: aarch64 From 55a22eb0f77e300905aee5dffa0ffe82802123cc Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 15:32:19 +0000 Subject: [PATCH 04/10] I have no idea how I did this --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0753366642afc..a857f264023dc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -227,7 +227,7 @@ jobs: run: | cd ast_serialize - - іf: ${{ matrix.os == 'ubuntu-24.04-arm' }} + - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} uses: PyO3/maturin-action@v1 with: target: aarch64 From f415ee79dcbe064481fc69621106c4d29d71a7d3 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 15:36:47 +0000 Subject: [PATCH 05/10] Try doing it normally --- .github/workflows/test.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a857f264023dc..3b8b2244917f4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -223,21 +223,17 @@ jobs: ref: 038d30db8c3428310a5d69c151feeebf31160a08 path: ast_serialize - - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} - run: | - cd ast_serialize - - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} uses: PyO3/maturin-action@v1 with: target: aarch64 args: --release --out dist + working-directory: ast_serialize - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} run: | ls dist pip install dist/* - cd .. python3 -c 'import ast_serialize; print(ast_serialize("no way")[1])' - name: Setup tox environment From ab4dadb995f8351a2efd7d19bb66ea6f5065de75 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 15:41:23 +0000 Subject: [PATCH 06/10] Again --- .github/workflows/test.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3b8b2244917f4..8d82cb32592b8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -232,8 +232,7 @@ jobs: - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} run: | - ls dist - pip install dist/* + pip install ast_serialize/dist/dist/ast_serialize-0.1.0-cp39-abi3-manylinux_2_34_aarch64.whl python3 -c 'import ast_serialize; print(ast_serialize("no way")[1])' - name: Setup tox environment From 25096574fd8151f3dfd260582c586e55e0baf61f Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 15:44:09 +0000 Subject: [PATCH 07/10] Too many dist --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8d82cb32592b8..d7d25f7f0e198 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -232,7 +232,7 @@ jobs: - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} run: | - pip install ast_serialize/dist/dist/ast_serialize-0.1.0-cp39-abi3-manylinux_2_34_aarch64.whl + pip install ast_serialize/dist/ast_serialize-0.1.0-cp39-abi3-manylinux_2_34_aarch64.whl python3 -c 'import ast_serialize; print(ast_serialize("no way")[1])' - name: Setup tox environment From b9e7cd07e0b73931c99a2c43b0218272379389b6 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 15:48:15 +0000 Subject: [PATCH 08/10] Fingers crossed --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d7d25f7f0e198..f72602becfdf3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -233,7 +233,7 @@ jobs: - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} run: | pip install ast_serialize/dist/ast_serialize-0.1.0-cp39-abi3-manylinux_2_34_aarch64.whl - python3 -c 'import ast_serialize; print(ast_serialize("no way")[1])' + python3 -c 'import ast_serialize; print(ast_serialize.parse("no way")[1])' - name: Setup tox environment run: | From 9957a43db8681cf97c63a494700d25a36f0de935 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 15:52:27 +0000 Subject: [PATCH 09/10] Oh, right --- .github/workflows/test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f72602becfdf3..323a2b225a5c3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -233,7 +233,9 @@ jobs: - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} run: | pip install ast_serialize/dist/ast_serialize-0.1.0-cp39-abi3-manylinux_2_34_aarch64.whl - python3 -c 'import ast_serialize; print(ast_serialize.parse("no way")[1])' + echo 'no way' > test_ast_serialize.py + python3 -c 'import ast_serialize; print(ast_serialize.parse("test_ast_serialize.py")[1])' + rm test_ast_serialize.py - name: Setup tox environment run: | From a005fc9876decca27fd7fb67da03bb242fd97851 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 17 Feb 2026 16:22:54 +0000 Subject: [PATCH 10/10] Skip free-threaded build --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 323a2b225a5c3..c87a98de21ff7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -215,7 +215,7 @@ jobs: # To speed-up process until ast_serialize is on PyPI. - name: Checkout pinned ast_serialize - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} + if: ${{ matrix.os == 'ubuntu-24.04-arm' && matrix.python != '3.14t' }} uses: actions/checkout@v4 with: persist-credentials: false @@ -223,14 +223,14 @@ jobs: ref: 038d30db8c3428310a5d69c151feeebf31160a08 path: ast_serialize - - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} + - if: ${{ matrix.os == 'ubuntu-24.04-arm' && matrix.python != '3.14t' }} uses: PyO3/maturin-action@v1 with: target: aarch64 args: --release --out dist working-directory: ast_serialize - - if: ${{ matrix.os == 'ubuntu-24.04-arm' }} + - if: ${{ matrix.os == 'ubuntu-24.04-arm' && matrix.python != '3.14t' }} run: | pip install ast_serialize/dist/ast_serialize-0.1.0-cp39-abi3-manylinux_2_34_aarch64.whl echo 'no way' > test_ast_serialize.py