pip(deps-dev): bump mkdocs-mermaid2-plugin from 0.6.0 to 1.0.6 #945
Workflow file for this run
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: 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 |