name: JIT
on:
  pull_request:
    paths:
      - '**jit**'
      - 'Python/bytecodes.c'
      - 'Python/optimizer*.c'
  push:
    paths:
      - '**jit**'
      - 'Python/bytecodes.c'
      - 'Python/optimizer*.c'
  workflow_dispatch:

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

jobs:
  jit:
    name: ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }})
    runs-on: ${{ matrix.runner }}
    timeout-minutes: 75
    strategy:
      fail-fast: false
      matrix:
        target:
          - 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
          - x86_64-unknown-linux-gnu/clang
          - aarch64-unknown-linux-gnu/gcc
          - aarch64-unknown-linux-gnu/clang
        debug:
          - true
          - false
        llvm:
          - 16
        include:
          - target: i686-pc-windows-msvc/msvc
            architecture: Win32
            runner: windows-latest
            compiler: msvc
          - target: x86_64-pc-windows-msvc/msvc
            architecture: x64
            runner: windows-latest
            compiler: msvc
          - target: aarch64-pc-windows-msvc/msvc
            architecture: ARM64
            runner: windows-latest
            compiler: msvc
          - target: x86_64-apple-darwin/clang
            architecture: x86_64
            runner: macos-13
            compiler: clang
          - target: aarch64-apple-darwin/clang
            architecture: aarch64
            runner: macos-14
            compiler: clang
          - target: x86_64-unknown-linux-gnu/gcc
            architecture: x86_64
            runner: ubuntu-latest
            compiler: gcc
          - target: x86_64-unknown-linux-gnu/clang
            architecture: x86_64
            runner: ubuntu-latest
            compiler: clang
          - target: aarch64-unknown-linux-gnu/gcc
            architecture: aarch64
            runner: ubuntu-latest
            compiler: gcc
            # These fail because of emulation, not because of the JIT:
            exclude: test_unix_events test_init test_process_pool test_shutdown test_multiprocessing_fork test_cmd_line test_faulthandler test_os test_perf_profiler test_posix test_signal test_socket test_subprocess test_threading test_venv test_external_inspection
          - target: aarch64-unknown-linux-gnu/clang
            architecture: aarch64
            runner: ubuntu-latest
            compiler: clang
            # These fail because of emulation, not because of the JIT:
            exclude: test_unix_events test_init test_process_pool test_shutdown test_multiprocessing_fork test_cmd_line test_faulthandler test_os test_perf_profiler test_posix test_signal test_socket test_subprocess test_threading test_venv test_external_inspection
    env:
      CC: ${{ matrix.compiler }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Native Windows
        if: runner.os == 'Windows' && matrix.architecture != 'ARM64'
        run: |
          choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}
          ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '--pgo' }} -p ${{ matrix.architecture }}
          ./PCbuild/rt.bat ${{ matrix.debug && '-d' }} -p ${{ matrix.architecture }} -q --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3

      # No PGO or tests (yet):
      - name: Emulated Windows
        if: runner.os == 'Windows' && matrix.architecture == 'ARM64'
        run: |
          choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}
          ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}

      - name: Native macOS
        if: runner.os == 'macOS'
        run: |
          brew install llvm@${{ matrix.llvm }}
          SDKROOT="$(xcrun --show-sdk-path)" \
            ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
          make all --jobs 4
          ./python.exe -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3

      - name: Native Linux
        if: runner.os == 'Linux' && matrix.architecture == 'x86_64'
        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' || '--enable-optimizations --with-lto' }}
          make all --jobs 4
          ./python -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3

      - name: Emulated Linux
        if: runner.os == 'Linux' && matrix.architecture != 'x86_64'
        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 --prefix="$(pwd)/../build"
          make install --jobs 4
          make clean --jobs 4
          export HOST=${{ matrix.architecture }}-linux-gnu
          sudo apt install --yes "gcc-$HOST" qemu-user
          ${{ !matrix.debug && matrix.compiler == 'clang' && './configure --enable-optimizations' || '' }}
          ${{ !matrix.debug && matrix.compiler == 'clang' && 'make profile-run-stamp --jobs 4' || '' }}
          export QEMU_LD_PREFIX="/usr/$HOST"
          CC="${{ matrix.compiler == 'clang' && 'clang --target=$HOST' || '$HOST-gcc' }}" \
            CPP="$CC --preprocess" \
            HOSTRUNNER=qemu-${{ matrix.architecture }} \
            ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }} --build=x86_64-linux-gnu --host="$HOST" --with-build-python=../build/bin/python3 --with-pkg-config=no ac_cv_buggy_getaddrinfo=no ac_cv_file__dev_ptc=no ac_cv_file__dev_ptmx=yes
          make all --jobs 4
          ./python -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3
