Skip to content

Test Python 3.12 in CI #962

Test Python 3.12 in CI

Test Python 3.12 in CI #962

Workflow file for this run

name: CI (pip)
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
tests_core:
strategy:
matrix:
os: [ubuntu-22.04, macos-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]
exclude:
- os: macos-latest
python-version: '3.9'
- os: macos-latest
python-version: '3.10'
name: "Core, Python ${{ matrix.python-version }}, ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install package (without extra)
run: python -m pip install -e .
- name: Install some testing dependencies (hard-coded)
run: python -m pip install pytest devtools jsonschema requests wget pooch
- name: Test core library with pytest
run: python -m pytest tests --ignore tests/tasks --ignore tests/dev
tests_tasks:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]
exclude:
- os: macos-latest
python-version: '3.9'
- os: macos-latest
python-version: '3.10'
name: "Tasks, Python ${{ matrix.python-version }}, ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install package (with fractal-tasks extra)
run: python -m pip install -e .[fractal-tasks]
- name: Install some testing dependencies (hard-coded)
run: python -m pip install pytest devtools jsonschema requests wget pooch
- name: Cache Pooch folder
id: cache-pooch-folder
uses: actions/cache@v4
with:
path: ~/.cache/pooch
key: pooch-cache
- name: Test tasks with pytest
run: python -m pytest tests/dev tests/tasks -s --log-cli-level info