Skip to content

Added a generic convert function strategy #444

Added a generic convert function strategy

Added a generic convert function strategy #444

Workflow file for this run

name: CI - Tests
on:
pull_request:
push:
branches:
- 'master'
- 'push-action/**' # Allow pushing to protected branches (using CasperWA/push-protected)
jobs:
pre-commit:
runs-on: ubuntu-latest
# timeout-minutes: 2
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U setuptools wheel
while IFS="" read -r line || [ -n "${line}" ]; do
if [[ "${line}" =~ ^pre-commit.*$ ]]; then
pre_commit="${line}"
fi
done < requirements_dev.txt
while IFS="" read -r line || [ -n "${line}" ]; do
if [[ "${line}" =~ ^invoke.*$ ]]; then
invoke="${line}"
fi
done < requirements_docs.txt
pip install ${pre_commit} ${invoke}
- name: Test with pre-commit
run: SKIP=pylint,pylint-tests,update-docs-api-reference pre-commit run --all-files
pylint-safety:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install -U pip
pip install -U setuptools wheel
pip install -U -r requirements.txt -r requirements_dev.txt -r requirements_docs.txt
pip install -e .
pip install safety
- name: Run pylint
run: pylint --rcfile=pyproject.toml --ignore-paths=tests/ --extension-pkg-whitelist='pydantic' *.py oteapi_dlite
- name: Run pylint - tests
run: pylint --rcfile=pyproject.toml --extension-pkg-whitelist='pydantic' --disable=import-outside-toplevel,redefined-outer-name,import-error --recursive=yes tests
# Ignore ID 44715 for now.
# See this NumPy issue for more information: https://github.com/numpy/numpy/issues/19038
# Remove ignoring 48547 as soon as RDFLib/rdflib#1844 has been fixed and the fix
# has been released.
- name: Run safety
run: pip freeze | safety check --stdin --ignore 44715 --ignore 48547
pytest-linux:
runs-on: ubuntu-latest
# timeout-minutes: 15
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10"]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Set up Python ${{ matrix.python-version}}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version}}
- name: Install python dependencies
run: |
python -m pip install -U pip
pip install -U setuptools wheel
pip install -U -r requirements.txt -r requirements_dev.txt
pip install -e .
- name: Test with pytest
run: pytest -vvv --cov-report=xml
- name: Upload coverage to Codecov
if: matrix.python-version == 3.9 && github.repository == 'EMMC-ASBL/oteapi-dlite'
uses: codecov/codecov-action@v3
with:
files: coverage.xml
flags: linux
pytest-win:
runs-on: windows-latest
# timeout-minutes: 15
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10"]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Set up Python ${{ matrix.python-version}}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version}}
- name: Install python dependencies
run: |
python -m pip install -U pip
pip install -U setuptools wheel
pip install -U -r requirements.txt -r requirements_dev.txt
pip install -e .
- name: Test with pytest
run: pytest -vvv --cov-report=xml
- name: Upload coverage to Codecov
if: matrix.python-version == 3.9 && github.repository == 'EMMC-ASBL/oteapi-dlite'
uses: codecov/codecov-action@v3
with:
files: coverage.xml
flags: windows
build-package:
name: Build distribution package
runs-on: ubuntu-latest
# timeout-minutes: 5
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install -U pip
pip install -U setuptools wheel build
- name: Check building distribution
run: python -m build
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install -U pip
pip install -U setuptools wheel
pip install -U -r requirements_docs.txt
pip install -e .
- name: Build
run: |
invoke create-api-reference-docs --pre-clean
invoke create-docs-index
mkdocs build --strict