Skip to content
Merged
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
14 changes: 7 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-15]
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-13, macos-15]
python_version: ['3.13']
include:
- os: ubuntu-latest
Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:

- name: Generate a sample project
run: |
uv run -m test.test_projects test.test_0_basic.basic_project sample_proj
uv run --no-sync -m test.test_projects test.test_0_basic.basic_project sample_proj

- name: Run a sample build (GitHub Action)
uses: ./
Expand Down Expand Up @@ -122,7 +122,7 @@ jobs:

- name: Test cibuildwheel
run: |
uv run bin/run_tests.py ${{ (runner.os == 'Linux' && runner.arch == 'X64') && '--run-podman' || '' }}
uv run --no-sync bin/run_tests.py ${{ (runner.os == 'Linux' && runner.arch == 'X64') && '--run-podman' || '' }}

emulated-archs:
name: Get qemu emulated architectures
Expand All @@ -141,7 +141,7 @@ jobs:
- name: Get qemu emulated architectures
id: archs
run: |
OUTPUT=$(uv run python -c "from json import dumps; from test.utils import EMULATED_ARCHS; print(dumps(EMULATED_ARCHS))")
OUTPUT=$(uv run --no-sync python -c "from json import dumps; from test.utils import EMULATED_ARCHS; print(dumps(EMULATED_ARCHS))")
echo "${OUTPUT}"
echo "archs=${OUTPUT}" >> "$GITHUB_OUTPUT"

Expand All @@ -166,7 +166,7 @@ jobs:
uses: docker/setup-qemu-action@v3

- name: Run the emulation tests
run: uv run pytest --run-emulation ${{ matrix.arch }} test/test_emulation.py
run: uv run --no-sync pytest --run-emulation ${{ matrix.arch }} test/test_emulation.py

test-pyodide:
name: Test cibuildwheel building Pyodide wheels
Expand All @@ -186,7 +186,7 @@ jobs:

- name: Generate a sample project
run: |
uv run -m test.test_projects test.test_0_basic.basic_project sample_proj
uv run --no-sync -m test.test_projects test.test_0_basic.basic_project sample_proj

- name: Run a sample build (GitHub Action)
uses: ./
Expand All @@ -198,6 +198,6 @@ jobs:

- name: Run tests with 'CIBW_PLATFORM' set to 'pyodide'
run: |
uv run ./bin/run_tests.py
uv run --no-sync ./bin/run_tests.py
env:
CIBW_PLATFORM: pyodide
3 changes: 3 additions & 0 deletions test/test_dependency_versions.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import platform
import re
import textwrap
from pathlib import Path
Expand Down Expand Up @@ -56,6 +57,8 @@ def test_pinned_versions(tmp_path, python_version, build_frontend_env_nouv):
pytest.skip("linux doesn't pin individual tool versions, it pins manylinux images instead")
if python_version != "3.12" and utils.platform == "pyodide":
pytest.skip(f"pyodide does not support Python {python_version}")
if python_version == "3.8" and utils.platform == "windows" and platform.machine() == "ARM64":
pytest.skip(f"Windows ARM64 does not support Python {python_version}")

project_dir = tmp_path / "project"
project_with_expected_version_checks.generate(project_dir)
Expand Down
10 changes: 9 additions & 1 deletion test/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,10 @@ def _expected_wheels(
"cp313-cp313t",
]

if machine_arch == "ARM64":
# no CPython 3.8 on Windows ARM64
python_abi_tags.pop(0)

if machine_arch in ["x86_64", "i686", "AMD64", "aarch64", "arm64"]:
python_abi_tags += [
"pp38-pypy38_pp73",
Expand Down Expand Up @@ -292,7 +296,11 @@ def _expected_wheels(
)

elif platform == "windows":
platform_tags = ["win_amd64"] if machine_arch == "AMD64" else ["win32"]
platform_tags = {
"AMD64": ["win_amd64"],
"ARM64": ["win_arm64"],
"x86": ["win32"],
}.get(machine_arch, [])

elif platform == "macos":
if python_abi_tag.startswith("pp"):
Expand Down
1 change: 1 addition & 0 deletions unit_test/oci_container_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"s390x": OCIPlatform.S390X,
"aarch64": OCIPlatform.ARM64,
"arm64": OCIPlatform.ARM64,
"ARM64": OCIPlatform.ARM64,
}[pm]

PODMAN = OCIContainerEngineConfig(name="podman")
Expand Down
Loading