Add support for Linux Arm64 and drop support for Python 3.9 #310
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.os }} | |
strategy: | |
# Keep OS versions in sync with the ones in `get_platform_tag.py`. | |
matrix: | |
architecture: | |
- x64 | |
os: | |
- macos-13 | |
- ubuntu-24.04 | |
- windows-2022 | |
python: | |
- "3.12" | |
include: | |
- architecture: arm64 | |
os: macos-14 | |
python: "3.12" | |
- architecture: arm64 | |
os: ubuntu-24.04 | |
python: "3.12" | |
- architecture: x64 | |
os: ubuntu-24.04 | |
python: "3.11" | |
- architecture: x64 | |
os: ubuntu-24.04 | |
python: "3.10" | |
fail-fast: false | |
name: Test on ${{ matrix.os }}-${{ matrix.architecture }} with Python ${{ matrix.python }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/build-jdk | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python }} | |
- uses: ./.github/actions/create-python-wheel | |
# No need to do that for each OS and Python version. | |
- if: ${{ matrix.architecture == 'x64' && matrix.os == 'ubuntu-24.04' && matrix.python == '3.12' }} | |
run: uv run ruff format --check . | |
# No need to do that for each OS and Python version. | |
- if: ${{ matrix.architecture == 'x64' && matrix.os == 'ubuntu-24.04' && matrix.python == '3.12' }} | |
run: uv run ruff check . | |
# No need to do that for each OS and Python version. | |
- if: ${{ matrix.architecture == 'x64' && matrix.os == 'ubuntu-24.04' && matrix.python == '3.12' }} | |
run: uv run mypy | |
- run: uv run pytest | |
# The library's Python wheels are not tied to a specific version of Python so there is no need to upload the package for each Python version. | |
- if: ${{ matrix.python == '3.12' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: jdk4py-${{ matrix.os }}-${{ matrix.architecture }}.whl | |
path: dist/jdk4py-*.whl | |
conda-package: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
# Keep OS versions in sync with the ones in `get_platform_tag.py`. | |
matrix: | |
architecture: | |
- x64 | |
os: | |
- macos-13 | |
- ubuntu-24.04 | |
- windows-2022 | |
include: | |
- architecture: arm64 | |
os: macos-14 | |
- architecture: arm64 | |
os: ubuntu-24.04 | |
name: Test Conda packaging on ${{ matrix.os }}-${{ matrix.architecture }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/build-jdk | |
with: | |
os: ${{ matrix.os }} | |
# No need to test each Python version. | |
python-version: "3.12" | |
- uses: ./.github/actions/create-conda-package | |
with: | |
architecture: ${{ matrix.architecture }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: jdk4py-${{ matrix.os }}-${{ matrix.architecture }}-conda-packages | |
path: dist/${{ env.JDK4PY_CONDA_PLATFORM }}/jdk4py-*.tar.bz2 |