Skip to content

wip: type hinting operator consistency #1443

wip: type hinting operator consistency

wip: type hinting operator consistency #1443

Workflow file for this run

name: CI
on:
push:
branches: [main, update-**, redesign_core]
pull_request:
branches: ["**"]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
os: [macos-13, ubuntu-latest]
mpi: ["openmpi"] # [ 'mpich', 'openmpi', 'intelmpi']
include:
- os: macos-13
path: ~/Library/Caches/pip
- os: ubuntu-latest
path: ~/.cache/pip
#- os: windows-latest
# path: ~\AppData\Local\pip\Cache
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
# - uses: mpi4py/setup-mpi@v1
# with:
# mpi: ${{ matrix.mpi }}
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-in-project: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
cache: "poetry"
- uses: FedericoCarboni/setup-ffmpeg@v3
id: setup-ffmpeg
with:
# like "6.1.0". At the moment semver specifiers (i.e. >=6.1.0) are supported
# only on Windows, on other platforms they are allowed but version is matched
# exactly regardless.
ffmpeg-version: release
# Target architecture of the ffmpeg executable to install. Defaults to the
# system architecture. Only x64 and arm64 are supported (arm64 only on Linux).
architecture: ""
# Linking type of the binaries. Use "shared" to download shared binaries and
# "static" for statically linked ones. Shared builds are currently only available
# for windows releases. Defaults to "static"
linking-type: static
# As of version 3 of this action, builds are no longer downloaded from GitHub
# except on Windows: https://github.com/GyanD/codexffmpeg/releases.
github-token: ${{ github.server_url == 'https://github.com' && github.token || '' }}
# - name: Set up cache
# uses: actions/cache@v3
# with:
# path: ${{ matrix.path }}
# key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('poetry.lock') }}
# restore-keys: |
# ${{ runner.os }}-pip-
- name: Install dependencies
run: |
poetry lock --no-update
poetry install --all-extras --with=algorithmExtension,sortingExtension #,mpi
# Test MiV-OS using pytest
- name: Run tests
run: |
source $VENV
make test
# Upload coverage to Codecov (use python 3.10 ubuntu-latest)
- name: Upload coverage to Codecov (only on 3.10 ubuntu-latest)
if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10' }}
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
env_vars: OS,PYTHON
fail_ci_if_error: true
flags: unittests
name: codecov-umbrella
verbose: true
file: ./coverage.xml