From 9afe5e5667a0490bb429e8c0fa0d10a4a1639750 Mon Sep 17 00:00:00 2001 From: Ken Jin Date: Tue, 4 Nov 2025 03:07:55 +0800 Subject: [PATCH 1/2] gh-140889: Test tailcall and JIT in CI (GH-140891) --- .github/workflows/jit.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index c7baad7d68138e..0634190a653a58 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -152,3 +152,26 @@ jobs: # - name: Run tests # run: | # ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + tail-call-jit: + name: JIT with tail calling interpreter + needs: interpreter + runs-on: ubuntu-24.04 + timeout-minutes: 90 + strategy: + fail-fast: false + matrix: + llvm: + - 19 + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + - uses: actions/setup-python@v5 + with: + python-version: '3.11' + - name: Build with JIT and tailcall + run: | + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} + export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" + CC=clang-${{ matrix.llvm }} ./configure --enable-experimental-jit --with-tail-call-interp --with-pydebug + make all --jobs 4 \ No newline at end of file From 5d2b6d025180ef5a8ea10f22d09019da0d652068 Mon Sep 17 00:00:00 2001 From: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> Date: Mon, 3 Nov 2025 19:15:05 +0000 Subject: [PATCH 2/2] Update jit.yml --- .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 0634190a653a58..122a07d4bae29a 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -174,4 +174,4 @@ jobs: sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" CC=clang-${{ matrix.llvm }} ./configure --enable-experimental-jit --with-tail-call-interp --with-pydebug - make all --jobs 4 \ No newline at end of file + make all --jobs 4