Merge pull request #108 from FAIRDataPipeline/dev #348
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: Python FAIR Data Pipeline | |
on: [push, workflow_dispatch] | |
jobs: | |
test: | |
name: Test ${{ matrix.os }} (Python ${{ matrix.python }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-latest,ubuntu-latest,macos-latest] | |
python: ["3.9", "3.10", "3.x"] | |
defaults: | |
run: | |
shell: bash | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
- name: Checkout pySimpleModel | |
uses: actions/checkout@v4 | |
with: | |
repository: FAIRDataPipeline/pySimpleModel | |
path: pySimpleModel | |
- name: Move pySimpleModel | |
run: mv pySimpleModel ../pySimpleModel | |
- name: Run Tests on Windows | |
run: | | |
poetry install | |
pip3 install fair-cli | |
fair registry install | |
pip3 install ../pySimpleModel | |
fair init --ci | |
fair registry start | |
fair pull --local data_pipeline_api/ext/SEIRSconfig.yaml | |
fair run --local data_pipeline_api/ext/SEIRSconfig.yaml | |
poetry run pytest --cov=data_pipeline_api --cov-report=xml --cov-report=term -s tests/ | |
if: matrix.os == 'windows-latest' | |
- name: Run Tests on other OS | |
if: matrix.os != 'windows-latest' | |
run: | | |
poetry install | |
source .venv/bin/activate | |
pip install fair-cli | |
fair registry install | |
pip install ../pySimpleModel | |
fair init --ci | |
fair registry start | |
fair pull --local data_pipeline_api/ext/SEIRSconfig.yaml | |
fair run --local data_pipeline_api/ext/SEIRSconfig.yaml | |
python3 -m poetry run pytest --cov=data_pipeline_api --cov-report=xml --cov-report=term -s tests/ | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./coverage.xml | |
fail_ci_if_error: false | |
verbose: true | |
if: matrix.python == '3.9' && matrix.os == 'ubuntu-latest' |