Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 10 additions & 21 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,6 @@ jobs:
- ubuntu-latest
- macOS-latest
- windows-latest
# Since the oldest Python available on windows-11-arm on GitHub
# is 3.11.0 (see https://raw.githubusercontent.com/actions/\
# python-versions/main/versions-manifest.json), older wheels
# cannot be tested... so just skip pre-building them
cibw_skip:
- '*-win32 cp3{9,10}-win_arm64 cp313-musllinux_i686'
arch:
Expand All @@ -142,6 +138,8 @@ jobs:
- name: Enable MSVC 64bit
uses: ilammy/msvc-dev-cmd@v1
if: ${{ startsWith(matrix.os, 'windows-') }} && ${{ contains(matrix.cibw_skip, '*-win32') }}
with:
arch: ${{ contains(matrix.os, 'arm') && 'arm64' || 'x64' }}
- name: Set up QEMU
uses: docker/[email protected]
if: runner.os == 'Linux' && matrix.arch != 'auto'
Expand All @@ -154,16 +152,10 @@ jobs:
config-file: pyproject.toml
env:
CIBW_SKIP: ${{ matrix.cibw_skip }}
# We're building on Windows-x64, so ARM64 wheels can't be tested
# locally by `cibuildwheel` (don't worry, we're testing them
# later though in `test_binpy_wheels`)
CIBW_TEST_SKIP: '*-win_arm64'
CIBW_ARCHS_LINUX: ${{ matrix.arch }}
CIBW_ENVIRONMENT: PYTHONUTF8=1
PYTHONUTF8: '1'
# `msvc-dev-cmd` sets this envvar, which interferes with
# cross-architecture building...
# just let `cibuildwheel` handle that
VSCMD_ARG_TGT_ARCH: ''
- name: Show built files
shell: bash
Expand Down Expand Up @@ -236,7 +228,6 @@ jobs:
install-extras: tests-strict,runtime-strict
os: windows-latest
arch: auto
# Note: cibuildwheel can't target 3.8 on Window ARM64
- python-version: '3.13'
install-extras: tests-strict,runtime-strict,optional-strict
os: ubuntu-latest
Expand Down Expand Up @@ -289,7 +280,7 @@ jobs:
install-extras: tests,optional
os: ubuntu-latest
arch: auto
- python-version: 3.14.0-rc.1
- python-version: '3.14'
install-extras: tests,optional
os: ubuntu-latest
arch: auto
Expand Down Expand Up @@ -317,7 +308,7 @@ jobs:
install-extras: tests,optional
os: macOS-latest
arch: auto
- python-version: 3.14.0-rc.1
- python-version: '3.14'
install-extras: tests,optional
os: macOS-latest
arch: auto
Expand Down Expand Up @@ -345,13 +336,10 @@ jobs:
install-extras: tests,optional
os: windows-latest
arch: auto
- python-version: 3.14.0-rc.1
- python-version: '3.14'
install-extras: tests,optional
os: windows-latest
arch: auto
# Again, cibuildwheel can't target 3.8 on Window ARM64, and
# GitHub doesn't have anything below Python 3.11 on their ARM64
# machines, so just test the built wheels from 3.11+
- python-version: '3.11'
install-extras: tests,optional
os: windows-11-arm
Expand All @@ -364,7 +352,7 @@ jobs:
install-extras: tests,optional
os: windows-11-arm
arch: auto
- python-version: 3.14.0-rc.1
- python-version: '3.14'
install-extras: tests,optional
os: windows-11-arm
arch: auto
Expand All @@ -374,8 +362,6 @@ jobs:
- name: Enable MSVC 64bit
uses: ilammy/msvc-dev-cmd@v1
if: ${{ startsWith(matrix.os, 'windows-') }}
# As noted in msvc-dev-cmd #90 (and the Action docs), it currently
# # assumes `arch=x64`, so we have to manually set it here...
with:
arch: ${{ contains(matrix.os, 'arm') && 'arm64' || 'x64' }}
- name: Set up QEMU
Expand All @@ -400,9 +386,11 @@ jobs:
run: |-
echo "Finding the path to the wheel"
ls wheelhouse || echo "wheelhouse does not exist"
echo "Installing helpers"
echo "Installing helpers: update pip"
python -m pip install pip uv -U
echo "Installing helpers: setuptools"
python -m uv pip install setuptools>=0.8 setuptools_scm wheel build -U
echo "Installing helpers: tomli and pkginfo"
python -m uv pip install tomli pkginfo
export WHEEL_FPATH=$(python -c "if 1:
import pathlib
Expand All @@ -422,6 +410,7 @@ jobs:
")
echo "WHEEL_FPATH=$WHEEL_FPATH"
echo "INSTALL_EXTRAS=$INSTALL_EXTRAS"
echo "UV_RESOLUTION=$UV_RESOLUTION"
echo "MOD_VERSION=$MOD_VERSION"
python -m uv pip install "line_profiler[$INSTALL_EXTRAS]==$MOD_VERSION" -f wheelhouse
echo "Install finished."
Expand Down
7 changes: 6 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ omit =[

[tool.cibuildwheel]
build = "cp38-* cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*"
skip = ["*-win32", "cp313-musllinux_i686"]
skip = ["*-win32", "cp3{9,10}-win_arm64", "cp313-musllinux_i686"]
build-frontend = "build"
build-verbosity = 1
test-command = "python {project}/run_tests.py"
Expand All @@ -53,7 +53,9 @@ mod_name = "line_profiler"
repo_name = "line_profiler"
rel_mod_parent_dpath = "."
os = [ "all", "linux", "osx", "win",]
main_python = '3.13'
min_python = '3.8'
max_python = '3.14'
author = "Robert Kern"
author_email = "[email protected]"
description = "Line-by-line profiler"
Expand All @@ -62,6 +64,9 @@ license = "BSD"
dev_status = "stable"
typed = true
skip_autogen = ["MANIFEST.in", "CHANGELOG.md"]
test_env = """
COVERAGE_CORE: ctrace
"""

[tool.xcookie.entry_points]
# the console_scripts entry point creates the xdoctest executable
Expand Down
Loading