From bd506f4f14fd383076e111a18685565c1153fe2b Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 14:28:05 +0100 Subject: [PATCH 01/17] testing macOS runner to use rosetta for jit --- .github/workflows/jit.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 51a069d857f2a3..0e0c6a80fd65ce 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -113,6 +113,7 @@ jobs: - name: macOS if: runner.os == 'macOS' run: | + arch -x86_64 /bin/bash -c ' brew update find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete brew install llvm@${{ matrix.llvm }} @@ -124,6 +125,7 @@ jobs: ./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }} make all --jobs 4 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + ' - name: Linux if: runner.os == 'Linux' From 87eef2df7482e47a6d6b2a0839f02cab3438dfe6 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 14:52:31 +0100 Subject: [PATCH 02/17] testing macOS runner to use rosetta for jit --- .github/workflows/add-issue-header.yml | 4 ++++ .github/workflows/build.yml | 4 ++++ .github/workflows/documentation-links.yml | 2 ++ .github/workflows/jit.yml | 1 + .github/workflows/lint.yml | 3 +++ .github/workflows/mypy.yml | 3 +++ .github/workflows/new-bugs-announce-notifier.yml | 5 ++++- .github/workflows/project-updater.yml | 5 ++++- .github/workflows/require-pr-label.yml | 5 ++++- .github/workflows/stale.yml | 5 ++++- .github/workflows/tail-call.yml | 5 ++++- .github/workflows/verify-ensurepip-wheels.yml | 5 ++++- 12 files changed, 41 insertions(+), 6 deletions(-) diff --git a/.github/workflows/add-issue-header.yml b/.github/workflows/add-issue-header.yml index 3cbc23af578d10..b0325983ee44f5 100644 --- a/.github/workflows/add-issue-header.yml +++ b/.github/workflows/add-issue-header.yml @@ -1,6 +1,10 @@ name: Add issue header # Automatically edits an issue's descriptions with a header, # one of: + +# Temporarily disabled for JIT-focused development +if: false + # # - Bug report # - Crash report diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 83a668fc720a90..e0791664248453 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,6 +11,10 @@ on: - 'main' - '3.*' +# Temporarily disabled for JIT-focused development +# Remove this if block to re-enable +if: false + permissions: contents: read diff --git a/.github/workflows/documentation-links.yml b/.github/workflows/documentation-links.yml index a09a30587b35eb..b02f02dde507b1 100644 --- a/.github/workflows/documentation-links.yml +++ b/.github/workflows/documentation-links.yml @@ -2,6 +2,8 @@ name: Read the Docs PR preview # Automatically edits a pull request's descriptions with a link # to the documentation's preview on Read the Docs. +# Temporarily disabled for JIT-focused development +if: false on: pull_request_target: types: diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 2c1d6d6ce112ee..d34fc9bb2c0029 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -111,6 +111,7 @@ jobs: # directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes # the symlink to the pre-installed Python so that the Homebrew Python is used instead. - name: macOS + # also see: rosetta https://github.com/numpy/numpy/pull/29756/files if: runner.os == 'macOS' run: | arch -x86_64 /bin/bash -c ' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d74ce8fcc256dc..66c06861763d14 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -2,6 +2,9 @@ name: Lint on: [push, pull_request, workflow_dispatch] +# Temporarily disabled for JIT-focused development +if: false + permissions: contents: read diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 5d5d77f29f6eb1..9e41818288dc49 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -6,6 +6,9 @@ on: branches: - main pull_request: + +# Temporarily disabled for JIT-focused development +if: false paths: - ".github/workflows/mypy.yml" - "Lib/_colorize.py" diff --git a/.github/workflows/new-bugs-announce-notifier.yml b/.github/workflows/new-bugs-announce-notifier.yml index 9f1a8a824e5f19..acaaeeec5da986 100644 --- a/.github/workflows/new-bugs-announce-notifier.yml +++ b/.github/workflows/new-bugs-announce-notifier.yml @@ -1,7 +1,10 @@ name: new-bugs-announce notifier on: - issues: + +# Temporarily disabled for JIT-focused development +if: false +issues: types: - opened diff --git a/.github/workflows/project-updater.yml b/.github/workflows/project-updater.yml index 1d9d637ec848a6..e91cb74be6e282 100644 --- a/.github/workflows/project-updater.yml +++ b/.github/workflows/project-updater.yml @@ -1,7 +1,10 @@ name: Update GH projects on: - issues: + +# Temporarily disabled for JIT-focused development +if: false +issues: types: - opened - labeled diff --git a/.github/workflows/require-pr-label.yml b/.github/workflows/require-pr-label.yml index 7e534c58c798d1..89536e30a352fc 100644 --- a/.github/workflows/require-pr-label.yml +++ b/.github/workflows/require-pr-label.yml @@ -1,7 +1,10 @@ name: Check labels on: - pull_request: + +# Temporarily disabled for JIT-focused development +if: false +pull_request: types: [opened, reopened, labeled, unlabeled, synchronize] jobs: diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index febb2dd823a8fe..2bad2d6d1c8967 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -1,7 +1,10 @@ name: Mark stale pull requests on: - schedule: + +# Temporarily disabled for JIT-focused development +if: false +schedule: - cron: "0 */6 * * *" jobs: diff --git a/.github/workflows/tail-call.yml b/.github/workflows/tail-call.yml index d4a84223b7b8a5..9da35002e470f3 100644 --- a/.github/workflows/tail-call.yml +++ b/.github/workflows/tail-call.yml @@ -1,7 +1,10 @@ name: Tail calling interpreter on: pull_request: - paths: + +# Temporarily disabled for JIT-focused development +if: false + paths: - '.github/workflows/tail-call.yml' - 'Python/bytecodes.c' - 'Python/ceval.c' diff --git a/.github/workflows/verify-ensurepip-wheels.yml b/.github/workflows/verify-ensurepip-wheels.yml index 463e7bf3355cc3..7d76b5deb30653 100644 --- a/.github/workflows/verify-ensurepip-wheels.yml +++ b/.github/workflows/verify-ensurepip-wheels.yml @@ -1,7 +1,10 @@ name: Verify bundled wheels on: - workflow_dispatch: + +# Temporarily disabled for JIT-focused development +if: false +workflow_dispatch: push: paths: - 'Lib/ensurepip/_bundled/**' From e0774c35beff1edeb6af341e1ffde6487bb85bba Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 14:57:38 +0100 Subject: [PATCH 03/17] checkless --- .github/workflows/jit.yml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index d34fc9bb2c0029..0334ecd35371d3 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -1,25 +1,7 @@ name: JIT on: pull_request: - paths: - - '**jit**' - - 'Python/bytecodes.c' - - 'Python/optimizer*.c' - - 'Python/executor_cases.c.h' - - 'Python/optimizer_cases.c.h' - - '!Python/perf_jit_trampoline.c' - - '!**/*.md' - - '!**/*.ini' push: - paths: - - '**jit**' - - 'Python/bytecodes.c' - - 'Python/optimizer*.c' - - 'Python/executor_cases.c.h' - - 'Python/optimizer_cases.c.h' - - '!Python/perf_jit_trampoline.c' - - '!**/*.md' - - '!**/*.ini' workflow_dispatch: permissions: From 8e8f17c6cb5af07fd07ccff48e7ee1d05af2cef6 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 14:58:45 +0100 Subject: [PATCH 04/17] disable unneeded things --- .github/workflows/jit.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 0334ecd35371d3..c4b9f11a35b2a5 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -39,13 +39,13 @@ jobs: fail-fast: false matrix: target: - - i686-pc-windows-msvc/msvc - - x86_64-pc-windows-msvc/msvc - - aarch64-pc-windows-msvc/msvc + # - i686-pc-windows-msvc/msvc + # - x86_64-pc-windows-msvc/msvc + # - aarch64-pc-windows-msvc/msvc - x86_64-apple-darwin/clang - - aarch64-apple-darwin/clang - - x86_64-unknown-linux-gnu/gcc - - aarch64-unknown-linux-gnu/gcc + # - aarch64-apple-darwin/clang + # - x86_64-unknown-linux-gnu/gcc + # - aarch64-unknown-linux-gnu/gcc debug: - true - false From f2a1705485a9a6fff238cc0c505d579ab4691684 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 14:58:56 +0100 Subject: [PATCH 05/17] indent correctly --- .github/workflows/jit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index c4b9f11a35b2a5..fed68420b68da2 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -96,7 +96,7 @@ jobs: # also see: rosetta https://github.com/numpy/numpy/pull/29756/files if: runner.os == 'macOS' run: | - arch -x86_64 /bin/bash -c ' + arch -x86_64 /bin/bash -c ' brew update find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete brew install llvm@${{ matrix.llvm }} From dd24b81e4a3226a695de8d33d4f2cb7f5aa155ad Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 15:00:09 +0100 Subject: [PATCH 06/17] comments actually do hurt --- .github/workflows/jit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index fed68420b68da2..07706df9aa1270 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -93,7 +93,7 @@ jobs: # directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes # the symlink to the pre-installed Python so that the Homebrew Python is used instead. - name: macOS - # also see: rosetta https://github.com/numpy/numpy/pull/29756/files + # also see: rosetta https://github.com/numpy/numpy/pull/29756/files if: runner.os == 'macOS' run: | arch -x86_64 /bin/bash -c ' From df80e93e8c049ac13fb82bad6afd05b0c5e83997 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 15:01:58 +0100 Subject: [PATCH 07/17] why ci mad --- .github/workflows/jit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 07706df9aa1270..a5e803a0760fa2 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -88,11 +88,11 @@ jobs: ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + - name: macOS # The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966. # This is a bug in the macOS runner image where the pre-installed Python is installed in the same # directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes # the symlink to the pre-installed Python so that the Homebrew Python is used instead. - - name: macOS # also see: rosetta https://github.com/numpy/numpy/pull/29756/files if: runner.os == 'macOS' run: | From 9c923c9cc0ac388bebd72d342b708ce6e161f487 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 15:03:37 +0100 Subject: [PATCH 08/17] disable others --- .github/workflows/jit.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index a5e803a0760fa2..f12263fa58d076 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -52,27 +52,27 @@ jobs: llvm: - 19 include: - - target: i686-pc-windows-msvc/msvc - architecture: Win32 - runner: windows-2022 - - target: x86_64-pc-windows-msvc/msvc - architecture: x64 - runner: windows-2022 - - target: aarch64-pc-windows-msvc/msvc - architecture: ARM64 - runner: windows-11-arm + # - target: i686-pc-windows-msvc/msvc + # architecture: Win32 + # runner: windows-2022 + # - target: x86_64-pc-windows-msvc/msvc + # architecture: x64 + # runner: windows-2022 + # - target: aarch64-pc-windows-msvc/msvc + # architecture: ARM64 + # runner: windows-11-arm - target: x86_64-apple-darwin/clang architecture: x86_64 runner: macos-13 - - target: aarch64-apple-darwin/clang - architecture: aarch64 - runner: macos-14 - - target: x86_64-unknown-linux-gnu/gcc - architecture: x86_64 - runner: ubuntu-24.04 - - target: aarch64-unknown-linux-gnu/gcc - architecture: aarch64 - runner: ubuntu-24.04-arm + # - target: aarch64-apple-darwin/clang + # architecture: aarch64 + # runner: macos-14 + # - target: x86_64-unknown-linux-gnu/gcc + # architecture: x86_64 + # runner: ubuntu-24.04 + # - target: aarch64-unknown-linux-gnu/gcc + # architecture: aarch64 + # runner: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 with: From c51d15efbab2f3974f5bd19ef8e8f849284922ba Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 15:04:45 +0100 Subject: [PATCH 09/17] find cmd escape --- .github/workflows/jit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index f12263fa58d076..0729bb16469dd7 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -98,7 +98,7 @@ jobs: run: | arch -x86_64 /bin/bash -c ' brew update - find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete + find /usr/local/bin -lname "*/Library/Frameworks/Python.framework/*" -delete brew install llvm@${{ matrix.llvm }} export SDKROOT="$(xcrun --show-sdk-path)" # Set MACOSX_DEPLOYMENT_TARGET and -Werror=unguarded-availability to From b4a7961c6dccefbeac695d3d26753a0feaf04508 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 15:07:24 +0100 Subject: [PATCH 10/17] idk --- .github/workflows/jit.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 0729bb16469dd7..93bd89b31e4db4 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -86,7 +86,8 @@ jobs: if: runner.os == 'Windows' run: | ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} - ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} \ + -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - name: macOS # The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966. From e662b920a0027d754a3aa89c7b0c68e8df2d4fa3 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 15:10:08 +0100 Subject: [PATCH 11/17] idk2 --- .github/workflows/jit.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 93bd89b31e4db4..304e23186ab438 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -82,12 +82,12 @@ jobs: python-version: '3.11' # PCbuild downloads LLVM automatically: - - name: Windows - if: runner.os == 'Windows' - run: | - ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} - ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} \ - -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + # - name: Windows + # if: runner.os == 'Windows' + # run: | + # ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} + # ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} \ + # -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - name: macOS # The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966. From c06f7d66e3e15ec838c6cd2fa9fea12e5b318e55 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 15:10:27 +0100 Subject: [PATCH 12/17] idk2,1 --- .github/workflows/jit.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 304e23186ab438..b097ebb8ceebf2 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -111,14 +111,14 @@ jobs: ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 ' - - name: Linux - if: runner.os == 'Linux' - run: | - sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} - export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" - ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }} - make all --jobs 4 - ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + # - name: Linux + # if: runner.os == 'Linux' + # run: | + # sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} + # export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" + # ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }} + # make all --jobs 4 + # ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 no-opt-jit: name: JIT without optimizations (Debug) From eda51b382ab52ad956269608a184a0bc108d2115 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 15:12:06 +0100 Subject: [PATCH 13/17] idk3 --- .github/workflows/jit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index b097ebb8ceebf2..e50d92ea72b62d 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -109,7 +109,7 @@ jobs: ./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }} make all --jobs 4 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - ' + ' # - name: Linux # if: runner.os == 'Linux' From 70be1072c9f2117c41e75e646c2f7ea1d2681dc3 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 15:24:23 +0100 Subject: [PATCH 14/17] all things rosetta? --- .github/workflows/jit.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index e50d92ea72b62d..a5b1fb77607d27 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -97,19 +97,17 @@ jobs: # also see: rosetta https://github.com/numpy/numpy/pull/29756/files if: runner.os == 'macOS' run: | - arch -x86_64 /bin/bash -c ' - brew update - find /usr/local/bin -lname "*/Library/Frameworks/Python.framework/*" -delete - brew install llvm@${{ matrix.llvm }} + arch -x86_64 brew update + arch -x86_64 find /usr/local/bin -lname "*/Library/Frameworks/Python.framework/*" -delete + arch -x86_64 brew install llvm@${{ matrix.llvm }} export SDKROOT="$(xcrun --show-sdk-path)" # Set MACOSX_DEPLOYMENT_TARGET and -Werror=unguarded-availability to # make sure we don't break downstream distributors (like uv): export CFLAGS_JIT='-Werror=unguarded-availability' export MACOSX_DEPLOYMENT_TARGET=10.15 - ./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }} - make all --jobs 4 - ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - ' + arch -x86_64 ./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }} + arch -x86_64 make all --jobs 4 + arch -x86_64 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 # - name: Linux # if: runner.os == 'Linux' From 00029c15d40ae26b52db7b64c644db18353663a4 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 16:12:30 +0100 Subject: [PATCH 15/17] only do for compilation needed --- .github/workflows/jit.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index a5b1fb77607d27..4a9a17170be2cd 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -97,17 +97,17 @@ jobs: # also see: rosetta https://github.com/numpy/numpy/pull/29756/files if: runner.os == 'macOS' run: | - arch -x86_64 brew update - arch -x86_64 find /usr/local/bin -lname "*/Library/Frameworks/Python.framework/*" -delete - arch -x86_64 brew install llvm@${{ matrix.llvm }} + brew update + find /usr/local/bin -lname "*/Library/Frameworks/Python.framework/*" -delete + brew install llvm@${{ matrix.llvm }} export SDKROOT="$(xcrun --show-sdk-path)" # Set MACOSX_DEPLOYMENT_TARGET and -Werror=unguarded-availability to # make sure we don't break downstream distributors (like uv): export CFLAGS_JIT='-Werror=unguarded-availability' export MACOSX_DEPLOYMENT_TARGET=10.15 - arch -x86_64 ./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }} + ./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }} arch -x86_64 make all --jobs 4 - arch -x86_64 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 # - name: Linux # if: runner.os == 'Linux' From 499ce700ce4cff47772ab7bad91bcc1fdf62ffe3 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 16:43:11 +0100 Subject: [PATCH 16/17] bump macos 14 --- .github/workflows/jit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 4a9a17170be2cd..8def727da85ccd 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -63,7 +63,7 @@ jobs: # runner: windows-11-arm - target: x86_64-apple-darwin/clang architecture: x86_64 - runner: macos-13 + runner: macos-14 # - target: aarch64-apple-darwin/clang # architecture: aarch64 # runner: macos-14 From 2c68deee87b2d29285f6cfe932df1c7eadb76af9 Mon Sep 17 00:00:00 2001 From: Jacob Coffee Date: Thu, 18 Sep 2025 16:45:05 +0100 Subject: [PATCH 17/17] bring things back online --- .github/workflows/add-issue-header.yml | 2 - .github/workflows/build.yml | 3 - .github/workflows/documentation-links.yml | 2 - .github/workflows/jit.yml | 93 +++++++++++-------- .github/workflows/lint.yml | 2 - .github/workflows/mypy.yml | 2 - .../workflows/new-bugs-announce-notifier.yml | 2 - .github/workflows/project-updater.yml | 2 - .github/workflows/require-pr-label.yml | 2 - .github/workflows/stale.yml | 2 - .github/workflows/tail-call.yml | 2 - .github/workflows/verify-ensurepip-wheels.yml | 2 - 12 files changed, 55 insertions(+), 61 deletions(-) diff --git a/.github/workflows/add-issue-header.yml b/.github/workflows/add-issue-header.yml index b0325983ee44f5..9d10655b7fb17e 100644 --- a/.github/workflows/add-issue-header.yml +++ b/.github/workflows/add-issue-header.yml @@ -2,8 +2,6 @@ name: Add issue header # Automatically edits an issue's descriptions with a header, # one of: -# Temporarily disabled for JIT-focused development -if: false # # - Bug report diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e0791664248453..a88a2e71137231 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,9 +11,6 @@ on: - 'main' - '3.*' -# Temporarily disabled for JIT-focused development -# Remove this if block to re-enable -if: false permissions: contents: read diff --git a/.github/workflows/documentation-links.yml b/.github/workflows/documentation-links.yml index b02f02dde507b1..a09a30587b35eb 100644 --- a/.github/workflows/documentation-links.yml +++ b/.github/workflows/documentation-links.yml @@ -2,8 +2,6 @@ name: Read the Docs PR preview # Automatically edits a pull request's descriptions with a link # to the documentation's preview on Read the Docs. -# Temporarily disabled for JIT-focused development -if: false on: pull_request_target: types: diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 8def727da85ccd..f667d3c05037d7 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -1,7 +1,25 @@ name: JIT on: pull_request: + paths: + - '**jit**' + - 'Python/bytecodes.c' + - 'Python/optimizer*.c' + - 'Python/executor_cases.c.h' + - 'Python/optimizer_cases.c.h' + - '!Python/perf_jit_trampoline.c' + - '!**/*.md' + - '!**/*.ini' push: + paths: + - '**jit**' + - 'Python/bytecodes.c' + - 'Python/optimizer*.c' + - 'Python/executor_cases.c.h' + - 'Python/optimizer_cases.c.h' + - '!Python/perf_jit_trampoline.c' + - '!**/*.md' + - '!**/*.ini' workflow_dispatch: permissions: @@ -39,40 +57,40 @@ jobs: fail-fast: false matrix: target: - # - i686-pc-windows-msvc/msvc - # - x86_64-pc-windows-msvc/msvc - # - aarch64-pc-windows-msvc/msvc + - i686-pc-windows-msvc/msvc + - x86_64-pc-windows-msvc/msvc + - aarch64-pc-windows-msvc/msvc - x86_64-apple-darwin/clang - # - aarch64-apple-darwin/clang - # - x86_64-unknown-linux-gnu/gcc - # - aarch64-unknown-linux-gnu/gcc + - aarch64-apple-darwin/clang + - x86_64-unknown-linux-gnu/gcc + - aarch64-unknown-linux-gnu/gcc debug: - true - false llvm: - 19 include: - # - target: i686-pc-windows-msvc/msvc - # architecture: Win32 - # runner: windows-2022 - # - target: x86_64-pc-windows-msvc/msvc - # architecture: x64 - # runner: windows-2022 - # - target: aarch64-pc-windows-msvc/msvc - # architecture: ARM64 - # runner: windows-11-arm + - target: i686-pc-windows-msvc/msvc + architecture: Win32 + runner: windows-latest + - target: x86_64-pc-windows-msvc/msvc + architecture: x64 + runner: windows-latest + - target: aarch64-pc-windows-msvc/msvc + architecture: ARM64 + runner: windows-11-arm - target: x86_64-apple-darwin/clang architecture: x86_64 + runner: macos-13 + - target: aarch64-apple-darwin/clang + architecture: aarch64 runner: macos-14 - # - target: aarch64-apple-darwin/clang - # architecture: aarch64 - # runner: macos-14 - # - target: x86_64-unknown-linux-gnu/gcc - # architecture: x86_64 - # runner: ubuntu-24.04 - # - target: aarch64-unknown-linux-gnu/gcc - # architecture: aarch64 - # runner: ubuntu-24.04-arm + - target: x86_64-unknown-linux-gnu/gcc + architecture: x86_64 + runner: ubuntu-24.04 + - target: aarch64-unknown-linux-gnu/gcc + architecture: aarch64 + runner: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 with: @@ -82,12 +100,11 @@ jobs: python-version: '3.11' # PCbuild downloads LLVM automatically: - # - name: Windows - # if: runner.os == 'Windows' - # run: | - # ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} - # ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} \ - # -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + - name: Windows + if: runner.os == 'Windows' + run: | + ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} + ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - name: macOS # The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966. @@ -109,14 +126,14 @@ jobs: arch -x86_64 make all --jobs 4 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - # - name: Linux - # if: runner.os == 'Linux' - # run: | - # sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} - # export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" - # ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }} - # make all --jobs 4 - # ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + - name: Linux + if: runner.os == 'Linux' + run: | + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} + export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" + ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }} + make all --jobs 4 + ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 no-opt-jit: name: JIT without optimizations (Debug) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 66c06861763d14..142ad939ca2c1e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -2,8 +2,6 @@ name: Lint on: [push, pull_request, workflow_dispatch] -# Temporarily disabled for JIT-focused development -if: false permissions: contents: read diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 9e41818288dc49..8bf9fb206935b4 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -7,8 +7,6 @@ on: - main pull_request: -# Temporarily disabled for JIT-focused development -if: false paths: - ".github/workflows/mypy.yml" - "Lib/_colorize.py" diff --git a/.github/workflows/new-bugs-announce-notifier.yml b/.github/workflows/new-bugs-announce-notifier.yml index acaaeeec5da986..4652fbe5dc85b4 100644 --- a/.github/workflows/new-bugs-announce-notifier.yml +++ b/.github/workflows/new-bugs-announce-notifier.yml @@ -2,8 +2,6 @@ name: new-bugs-announce notifier on: -# Temporarily disabled for JIT-focused development -if: false issues: types: - opened diff --git a/.github/workflows/project-updater.yml b/.github/workflows/project-updater.yml index e91cb74be6e282..066c895ba088c2 100644 --- a/.github/workflows/project-updater.yml +++ b/.github/workflows/project-updater.yml @@ -2,8 +2,6 @@ name: Update GH projects on: -# Temporarily disabled for JIT-focused development -if: false issues: types: - opened diff --git a/.github/workflows/require-pr-label.yml b/.github/workflows/require-pr-label.yml index 89536e30a352fc..41d13a7b4fd233 100644 --- a/.github/workflows/require-pr-label.yml +++ b/.github/workflows/require-pr-label.yml @@ -2,8 +2,6 @@ name: Check labels on: -# Temporarily disabled for JIT-focused development -if: false pull_request: types: [opened, reopened, labeled, unlabeled, synchronize] diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 2bad2d6d1c8967..b049cdf535b567 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -2,8 +2,6 @@ name: Mark stale pull requests on: -# Temporarily disabled for JIT-focused development -if: false schedule: - cron: "0 */6 * * *" diff --git a/.github/workflows/tail-call.yml b/.github/workflows/tail-call.yml index 9da35002e470f3..de4239a3db6285 100644 --- a/.github/workflows/tail-call.yml +++ b/.github/workflows/tail-call.yml @@ -2,8 +2,6 @@ name: Tail calling interpreter on: pull_request: -# Temporarily disabled for JIT-focused development -if: false paths: - '.github/workflows/tail-call.yml' - 'Python/bytecodes.c' diff --git a/.github/workflows/verify-ensurepip-wheels.yml b/.github/workflows/verify-ensurepip-wheels.yml index 7d76b5deb30653..eda242b4f2d248 100644 --- a/.github/workflows/verify-ensurepip-wheels.yml +++ b/.github/workflows/verify-ensurepip-wheels.yml @@ -2,8 +2,6 @@ name: Verify bundled wheels on: -# Temporarily disabled for JIT-focused development -if: false workflow_dispatch: push: paths: