Add support for Linux Arm64 and drop support for Python 3.9 #338
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
pull_request: | |
types: [opened, synchronize] | |
jobs: | |
test: | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
# Keep OS versions in sync with the ones in `hatch_build.py`. | |
matrix: | |
runner: | |
- macos-13 # x64 | |
- macos-14 # arm64 | |
- ubuntu-24.04 | |
- ubuntu-24.04-arm64 # GitHub-hosted larger runner in the ActiveViam organization. | |
- windows-2022 | |
python: | |
- "3.12" | |
include: | |
- runner: ubuntu-24.04 | |
python: "3.11" | |
- runner: ubuntu-24.04 | |
python: "3.10" | |
fail-fast: false | |
name: Test on ${{ matrix.runner }} with Python ${{ matrix.python }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/build-java-runtime | |
- id: build-python-wheel | |
uses: ./.github/actions/build-python-wheel | |
# No need to test each platform and Python version. | |
- if: ${{ matrix.runner == 'ubuntu-24.04' && matrix.python == '3.12' }} | |
run: uv run ruff format --check . | |
# No need to test each platform and Python version. | |
- if: ${{ matrix.runner == 'ubuntu-24.04' && matrix.python == '3.12' }} | |
run: uv run ruff check . | |
# No need to test each platform and Python version. | |
- if: ${{ matrix.runner == 'ubuntu-24.04' && matrix.python == '3.12' }} | |
run: uv run mypy | |
- run: uv run pytest | |
# No need to upload for each Python version since the Python wheels are not tied to a specific Python version. | |
- if: ${{ matrix.python == '3.12' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: ${{ steps.build-python-wheel.outputs.filename }} | |
path: dist/${{ steps.build-python-wheel.outputs.filename }} | |
conda-package: | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
# Keep OS versions in sync with the ones in `hatch_build.py`. | |
matrix: | |
runner: | |
- macos-13 # x64 | |
- macos-14 # arm64 | |
- ubuntu-24.04 | |
- ubuntu-24.04-arm64 # GitHub-hosted larger runner in the ActiveViam organization. | |
- windows-2022 | |
name: Test Conda packaging on ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/build-java-runtime | |
with: | |
# No need to test each Python version. | |
python-version: "3.12" | |
- id: build-conda-packages | |
uses: ./.github/actions/build-conda-packages | |
- uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: jdk4py-${{ steps.build-conda-packages.outputs.platform }}-conda-packages | |
path: dist/${{ steps.build-conda-packages.outputs.platform }}/jdk4py-*.tar.bz2 |