Skip to content

Add support for science musl releases. #81

Add support for science musl releases.

Add support for science musl releases. #81

Workflow file for this run

name: Python CI
on:
push:
branches:
- main
paths:
- 'python/**'
- '!python/**.md'
pull_request:
paths:
- 'python/**'
- '!python/**.md'
defaults:
run:
shell: bash
concurrency:
group: CI-${{ github.ref }}
# Queue on all branches and tags, but only cancel overlapping PR burns.
cancel-in-progress: ${{ github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/tags/') }}
jobs:
org-check:
name: Check GitHub Organization
if: github.repository_owner == 'a-scie'
runs-on: ubuntu-24.04
steps:
- name: Noop
run: "true"
checks:
name: ${{ matrix.name }}
needs: org-check
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- name: "Linux Python 3.8"
os: "ubuntu-24.04"
python-version: "3.8"
- name: "Linux Python 3.9"
os: "ubuntu-24.04"
python-version: "3.9"
- name: "Linux Python 3.10"
os: "ubuntu-24.04"
python-version: "3.10"
- name: "Linux Python 3.11"
os: "ubuntu-24.04"
python-version: "3.11"
- name: "Linux Python 3.12"
os: "ubuntu-24.04"
python-version: "3.12"
- name: "Linux Python 3.13"
os: "ubuntu-24.04"
python-version: "3.13"
- name: "Mac Python 3.13"
os: "macos-14"
python-version: "3.13"
- name: "Windows Python 3.13"
os: "windows-2022"
python-version: "3.13"
steps:
- name: Checkout science-installers
uses: actions/checkout@v4
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v4
with:
python-version: ${{ matrix.python-version }}
- name: Run CI checks
run: uv --directory python run dev-cmd --color always ci -- -vvs
other-linuxes:
name: "Other Linuxes"
needs: org-check
runs-on: ubuntu-24.04
strategy:
matrix:
include:
- name: "Alpine Linux (musl libc)"
image: python:3.13-alpine
platform: linux/amd64
- name: "Linux ARM64"
image: python:3.13-bookworm
platform: linux/arm64
- name: "Linux ARMv7"
image: python:3.13-bookworm
platform: linux/arm/v7
- name: "Linux PPC64le"
image: python:3.13-bookworm
platform: linux/ppc64le
- name: "Linux s390x"
image: python:3.13-bookworm
platform: linux/s390x
steps:
- name: Checkout science-installers
uses: actions/checkout@v4
- name: ${{ matrix.name }}
run: |
docker run --rm \
-v $PWD:/code \
-w /code \
--platform ${{ matrix.platform }} \
${{ matrix.image }} \
sh -euc '
pip install --root-user-action ignore uv &&
uv --directory python run dev-cmd --color always test -- -vvs
'
final-status:
name: Gather Final Status
needs:
- checks
- other-linuxes
runs-on: ubuntu-24.04
steps:
- name: Check Non-Success
if: |
contains(needs.*.result, 'cancelled') ||
contains(needs.*.result, 'failure') ||
contains(needs.*.result, 'skipped')
run: "false"
- name: Success
run: "true"