From 18349bfd37b42107e162185ffeed77e28aae3f88 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Mon, 20 May 2024 20:26:21 -0700 Subject: [PATCH 01/10] add jit and no gil ci job --- .github/workflows/jit.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 7152cde8f4607c..e458cad1080b26 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -85,7 +85,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.11' - name: Native Windows if: runner.os == 'Windows' && matrix.architecture != 'ARM64' @@ -144,3 +144,28 @@ jobs: ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations ' }} --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 --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + jit-with-no-gil: + runs-on: x86_64-unknown-linux-gnu/gcc + strategy: + fail-fast: false + matrix: + llvm: + - 18 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.11' + - name: Build with JIT and No GIL + 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 --with-pydebug --disable-gil + make all --jobs 4 + - name: Run Test Suite + run: | + ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + + + + From 39b2a13f908915dff5e3baa07a23f7e933a8a614 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Mon, 20 May 2024 20:26:50 -0700 Subject: [PATCH 02/10] remove newlines; --- .github/workflows/jit.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index e458cad1080b26..e299ee31660e3c 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -144,6 +144,7 @@ jobs: ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations ' }} --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 --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + jit-with-no-gil: runs-on: x86_64-unknown-linux-gnu/gcc strategy: @@ -164,8 +165,4 @@ jobs: make all --jobs 4 - name: Run Test Suite run: | - ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - - - - + ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 From b05a1fe97a0627d8a8f361370d2c3ecb97ef1c1e Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Mon, 20 May 2024 20:45:50 -0700 Subject: [PATCH 03/10] comment out for testing --- .github/workflows/jit.yml | 240 +++++++++++++++++++------------------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index e299ee31660e3c..83be748d06251d 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -20,131 +20,131 @@ concurrency: cancel-in-progress: true jobs: - jit: - name: ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }}) - runs-on: ${{ matrix.runner }} - timeout-minutes: 90 - 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: - - 18 - 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 - - target: aarch64-unknown-linux-gnu/clang - architecture: aarch64 - runner: ubuntu-latest - compiler: clang - env: - CC: ${{ matrix.compiler }} - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.11' + # jit: + # name: ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }}) + # runs-on: ${{ matrix.runner }} + # timeout-minutes: 90 + # 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: + # - 18 + # 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 + # - target: aarch64-unknown-linux-gnu/clang + # architecture: aarch64 + # runner: ubuntu-latest + # compiler: clang + # 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 upgrade llvm -y - 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 --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + # - name: Native Windows + # if: runner.os == 'Windows' && matrix.architecture != 'ARM64' + # run: | + # choco upgrade llvm -y + # 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 --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - # No PGO or tests (yet): - - name: Emulated Windows - if: runner.os == 'Windows' && matrix.architecture == 'ARM64' - run: | - choco upgrade llvm -y - choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }} - ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} + # # No PGO or tests (yet): + # - name: Emulated Windows + # if: runner.os == 'Windows' && matrix.architecture == 'ARM64' + # run: | + # choco upgrade llvm -y + # 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 update - 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 --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + # - name: Native macOS + # if: runner.os == 'macOS' + # run: | + # brew update + # 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 --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - # --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553) - - 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' }} - make all --jobs 4 - ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + # # --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553) + # - 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' }} + # make all --jobs 4 + # ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + + # # --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553) + # - name: Emulated Linux + # if: runner.os == 'Linux' && matrix.architecture != 'x86_64' + # # The --ignorefile on ./python -m test is used to exclude tests known to fail when running on an emulated 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 --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 ' }} --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 --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - # --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553) - - name: Emulated Linux - if: runner.os == 'Linux' && matrix.architecture != 'x86_64' - # The --ignorefile on ./python -m test is used to exclude tests known to fail when running on an emulated 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 --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 ' }} --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 --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - jit-with-no-gil: runs-on: x86_64-unknown-linux-gnu/gcc strategy: From 7526af31e20fa09c7f454f184576a20580936d66 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Mon, 20 May 2024 20:50:57 -0700 Subject: [PATCH 04/10] switch to ubuntu-latest --- .github/workflows/jit.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 83be748d06251d..6df39fc2ff6d29 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -146,12 +146,7 @@ jobs: # ./python -m test --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3 jit-with-no-gil: - runs-on: x86_64-unknown-linux-gnu/gcc - strategy: - fail-fast: false - matrix: - llvm: - - 18 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 @@ -159,8 +154,8 @@ jobs: python-version: '3.11' - name: Build with JIT and No GIL run: | - sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} - export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh 18 + export PATH="$(llvm-config-18 --bindir):$PATH" ./configure --enable-experimental-jit --with-pydebug --disable-gil make all --jobs 4 - name: Run Test Suite From 58430116bd052363f66d365ff0cd733d7b3f6cac Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Mon, 20 May 2024 20:53:58 -0700 Subject: [PATCH 05/10] uncomment and update text --- .github/workflows/jit.yml | 242 +++++++++++++++++++------------------- 1 file changed, 121 insertions(+), 121 deletions(-) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 6df39fc2ff6d29..0950c4becbc203 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -20,130 +20,130 @@ concurrency: cancel-in-progress: true jobs: - # jit: - # name: ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }}) - # runs-on: ${{ matrix.runner }} - # timeout-minutes: 90 - # 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: - # - 18 - # 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 - # - target: aarch64-unknown-linux-gnu/clang - # architecture: aarch64 - # runner: ubuntu-latest - # compiler: clang - # env: - # CC: ${{ matrix.compiler }} - # steps: - # - uses: actions/checkout@v4 - # - uses: actions/setup-python@v5 - # with: - # python-version: '3.11' + jit: + name: ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }}) + runs-on: ${{ matrix.runner }} + timeout-minutes: 90 + 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: + - 18 + 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 + - target: aarch64-unknown-linux-gnu/clang + architecture: aarch64 + runner: ubuntu-latest + compiler: clang + 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 upgrade llvm -y - # 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 --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + - name: Native Windows + if: runner.os == 'Windows' && matrix.architecture != 'ARM64' + run: | + choco upgrade llvm -y + 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 --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - # # No PGO or tests (yet): - # - name: Emulated Windows - # if: runner.os == 'Windows' && matrix.architecture == 'ARM64' - # run: | - # choco upgrade llvm -y - # choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }} - # ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} + # No PGO or tests (yet): + - name: Emulated Windows + if: runner.os == 'Windows' && matrix.architecture == 'ARM64' + run: | + choco upgrade llvm -y + 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 update - # 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 --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + - name: Native macOS + if: runner.os == 'macOS' + run: | + brew update + 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 --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - # # --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553) - # - 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' }} - # make all --jobs 4 - # ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + # --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553) + - 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' }} + make all --jobs 4 + ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - # # --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553) - # - name: Emulated Linux - # if: runner.os == 'Linux' && matrix.architecture != 'x86_64' - # # The --ignorefile on ./python -m test is used to exclude tests known to fail when running on an emulated 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 --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 ' }} --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 --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + # --with-lto has been removed temporarily as a result of an open issue in LLVM 18 (see https://github.com/llvm/llvm-project/issues/87553) + - name: Emulated Linux + if: runner.os == 'Linux' && matrix.architecture != 'x86_64' + # The --ignorefile on ./python -m test is used to exclude tests known to fail when running on an emulated 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 --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 ' }} --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 --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3 jit-with-no-gil: runs-on: ubuntu-latest @@ -152,12 +152,12 @@ jobs: - uses: actions/setup-python@v5 with: python-version: '3.11' - - name: Build with JIT and No GIL + - name: Build with JIT and GIL disabled run: | sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh 18 export PATH="$(llvm-config-18 --bindir):$PATH" ./configure --enable-experimental-jit --with-pydebug --disable-gil make all --jobs 4 - - name: Run Test Suite + - name: Run tests run: | ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 From 471e5ebaa24a7fde5adb4dd181a2a8f34f8cf680 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Mon, 20 May 2024 20:54:51 -0700 Subject: [PATCH 06/10] remove extraneous whitespace --- .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 0950c4becbc203..58a5b8280f2f56 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -85,7 +85,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.11' - name: Native Windows if: runner.os == 'Windows' && matrix.architecture != 'ARM64' From 88e07d3b4962a83b296137702061b817d651fa53 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Mon, 20 May 2024 21:09:42 -0700 Subject: [PATCH 07/10] remove extraneous whitespace --- .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 58a5b8280f2f56..77b3b97cc8120f 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -160,4 +160,4 @@ jobs: make all --jobs 4 - name: Run tests run: | - ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 From 6b760d39206aa3c0f42023ff08641e23d388c852 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Mon, 20 May 2024 21:36:56 -0700 Subject: [PATCH 08/10] Update .github/workflows/jit.yml Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- .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 77b3b97cc8120f..68b35d708f578e 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -145,7 +145,7 @@ jobs: make all --jobs 4 ./python -m test --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - jit-with-no-gil: + jit-with-disabled-gil: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From add965946f6ebf83f69a98e16487e04b65659204 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Mon, 20 May 2024 21:37:05 -0700 Subject: [PATCH 09/10] Update .github/workflows/jit.yml Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- .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 68b35d708f578e..7aec95fa180554 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -152,7 +152,7 @@ jobs: - uses: actions/setup-python@v5 with: python-version: '3.11' - - name: Build with JIT and GIL disabled + - name: Build with JIT enabled and GIL disabled run: | sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh 18 export PATH="$(llvm-config-18 --bindir):$PATH" From e50b538d94724f1bfbebd18625d7091817006696 Mon Sep 17 00:00:00 2001 From: Savannah Ostrowski Date: Tue, 21 May 2024 06:14:17 -0700 Subject: [PATCH 10/10] Update jit.yml Co-authored-by: Brandt Bucher --- .github/workflows/jit.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 7aec95fa180554..11634c6e985c3f 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -146,6 +146,7 @@ jobs: ./python -m test --ignorefile=Tools/jit/ignore-tests-emulated-linux.txt --multiprocess 0 --timeout 4500 --verbose2 --verbose3 jit-with-disabled-gil: + name: Free-Threaded (Debug) runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy