Skip to content

RFC: support python 3.12 (but drop 3.8) #841

RFC: support python 3.12 (but drop 3.8)

RFC: support python 3.12 (but drop 3.8) #841

Workflow file for this run

name: test
on:
push:
branches:
- main
pull_request:
jobs:
run:
continue-on-error: True
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.12"]
timeout-minutes: 30
steps:
- uses: actions/checkout@master
- uses: actions/setup-python@master
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install tox poetry
# # set up environment depending on the platform in use
# - if: matrix.os == 'ubuntu-latest'
# name: Install dependencies (ubuntu-latest)
# run: ...
# - if: matrix.os == 'macos-latest'
# name: Install dependencies (macos-latest)
# run: ...
# - if: matrix.os == 'windows-latest'
# name: Install dependencies (windows-latest)
# env:
# ACTIONS_ALLOW_UNSECURE_COMMANDS: true
# run: ...
- if: matrix.os == 'macos-latest'
name: Install dependencies (macos-latest)
run: |
# for some reason this seems to be a necessary step for MacOS images, but not for Ubuntu and Windows
brew install hdf5
brew install c-blosc
# https://stackoverflow.com/questions/73029883/could-not-find-hdf5-installation-for-pytables-on-m1-mac
echo "HDF5_DIR=/opt/homebrew/opt/hdf5" >> $GITHUB_ENV
echo "BLOSC_DIR=/opt/homebrew/opt/c-blosc" >> $GITHUB_ENV
- if: ${{ (matrix.os == 'ubuntu-latest') || (matrix.os == 'macos-latest') }}
name: Unit tests and coverage (ubuntu-latest, macos-latest)
run: |
pip install .
python3 examples/main.py
- if: matrix.os == 'windows-latest'
name: Unit tests and coverage (windows-latest)
run: |
$pyver = "${{ matrix.python-version }}" -replace '\.'
tox -e "py$pyver" -- -m 'not e2e' | Tee-Object output.txt -ErrorAction SilentlyContinue
.\scripts\check-tox-output.ps1 output.txt
- if: matrix.os == 'windows-latest'
name: Notebook tests (windows-latest)
run: |
$pyver = "${{ matrix.python-version }}" -replace '\.'
tox -e "py$pyver-nb" | Tee-Object output.txt -ErrorAction SilentlyContinue
.\scripts\check-tox-output.ps1 output.txt
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: false