Skip to content

pip(deps-dev): bump mkdocs-material from 9.1.16 to 9.1.19 #936

pip(deps-dev): bump mkdocs-material from 9.1.16 to 9.1.19

pip(deps-dev): bump mkdocs-material from 9.1.16 to 9.1.19 #936

Workflow file for this run

name: Power Balance Models Ubuntu
on: [push]
jobs:
test_modelica_build:
container:
image: openmodelica/openmodelica:v1.18.0-minimal
name: Test Modelica Build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
steps:
- uses: actions/checkout@v3
- name: Install OpenModelica libraries
run: apt update && apt -y install omlib-modelica-3.2.3 omlib-modelicaservices-3.2.3 omlib-complex-3.2.3
- name: Compile models
run: |
mkdir build
cd build
for i in $(ls ${GITHUB_WORKSPACE}/power_balance/models/*.mo); do omc -s $i; done
for i in $(ls *.makefile); do make -f $i; done
shell: bash
- name: Archive Modelica Binaries
uses: actions/upload-artifact@v2
with:
name: om-binaries
path: build/
retention-days: 1
test_module_build:
name: Test Module Build (Python${{ matrix.python-version }} ${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
python-version: [ '3.8', '3.9', '3.10' ]
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- uses: Gr1N/setup-poetry@v8
- name: Build Module
run: |
poetry install
poetry build
poetry run powerbalance generate-profiles
- name: Archive Plasma Profiles
uses: actions/upload-artifact@v2
with:
name: om-plasma-profiles
path: power_balance/profiles/mat_profile_files/*.mat
retention-days: 1
model_run_om:
container:
image: openmodelica/openmodelica:v1.18.0-minimal
name: Model Run Open Modelica (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
needs: [test_modelica_build]
steps:
- name: Retrieve Open Modelica model binaries
uses: actions/download-artifact@v2
with:
name: om-binaries
path: build
- name: Retrieve Plasma profiles
uses: actions/download-artifact@v2
with:
name: om-plasma-profiles
path: power_balance/profiles/mat_profile_files
- name: Install OpenModelica libraries
run: apt update && apt -y install omlib-modelica-3.2.3 omlib-modelicaservices-3.2.3 omlib-complex-3.2.3
- name: Run Models
run: |
cd build
for i in $(ls -I "*.h" -I "*.c" -I "*.o" -I "*.json" -I "*.xml" -I "*.makefile" -I "*.mat"); do echo "Running model $i"; chmod +x ./$i; ./$i; done
model_run_api:
container:
image: openmodelica/openmodelica:v1.18.0-minimal
name: Model Run API (${{ matrix.os }} Python${{ matrix.python-version }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
python-version: [ '3.8', '3.9', '3.10' ]
needs: [test_module_build]
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- uses: Gr1N/setup-poetry@v8
- name: Install OpenModelica libraries
run: apt update && apt -y install omlib-modelica-3.2.3 omlib-modelicaservices-3.2.3 omlib-complex-3.2.3
- name: Run Models
run: |
poetry install
poetry run coverage run --source=power_balance --data-file=coverage_default -m pytest tests/scenarios -k test_run_vanilla
- name: Archive Run Coverage
uses: actions/upload-artifact@v2
if: ${{ github.ref_name == 'main' }}
with:
name: coverage-run
path: coverage_default
retention-days: 1
regression_tests:
container:
image: openmodelica/openmodelica:v1.18.0-minimal
name: Regression Tests (${{ matrix.os }} Python${{ matrix.python-version }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
python-version: [ '3.8', '3.9', '3.10' ]
needs: [test_module_build]
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- uses: Gr1N/setup-poetry@v8
- name: Install OpenModelica libraries
run: apt update && apt -y install omlib-modelica-3.2.3 omlib-modelicaservices-3.2.3 omlib-complex-3.2.3
- name: Run Regression Tests
run: |
poetry install
poetry run coverage run --source=power_balance --data-file=coverage_regression -m pytest tests/regression_tests
- name: Archive Run Coverage
uses: actions/upload-artifact@v2
if: ${{ github.ref_name == 'main' }}
with:
name: coverage-regression
path: coverage_regression
retention-days: 1
unit_tests:
container:
image: openmodelica/openmodelica:v1.18.0-minimal
name: Unit Tests (${{ matrix.os }} Python${{ matrix.python-version }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04]
python-version: [ '3.8', '3.9', '3.10' ]
needs: [test_module_build]
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- uses: Gr1N/setup-poetry@v8
- name: Install OpenModelica libraries
run: apt update && apt -y install omlib-modelica-3.2.3 omlib-modelicaservices-3.2.3 omlib-complex-3.2.3
- name: Run Unit Tests
run: |
poetry install
poetry run coverage run --data-file=coverage_unit --source=power_balance -m pytest tests/unit_tests
- name: Archive Run Coverage
uses: actions/upload-artifact@v2
if: ${{ github.ref_name == 'main' }}
with:
name: coverage-unit
path: coverage_unit
retention-days: 1
collate_coverage:
name: Collate Coverage
runs-on: ubuntu-latest
if: ${{ github.ref_name == 'main' }}
needs: [unit_tests, regression_tests, model_run_api]
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
- uses: Gr1N/setup-poetry@v8
- name: Retrieve Unit Test Coverage
uses: actions/download-artifact@v2
with:
name: coverage-unit
path: coverage
- name: Retrieve Regression Test Coverage
uses: actions/download-artifact@v2
with:
name: coverage-regression
path: coverage
- name: Retrieve PBM Run Coverage
uses: actions/download-artifact@v2
with:
name: coverage-run
path: coverage
- name: Combine Coverage
run: |
find . -name "*.pyc" -delete
poetry run pip install coverage
poetry run coverage combine coverage/coverage_*
poetry run coverage xml -i
poetry run coverage report -i
- uses: codecov/codecov-action@v2
with:
env_vars: OS,PYTHON
files: coverage.xml