From 70ed16c33c874da8730085d6dfebbc80f4f480d5 Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Mon, 3 Nov 2025 10:21:37 +0100 Subject: [PATCH 01/11] Removing unused FindBestOMCSession - OMPython 4.0 no longer provides this function --- testmodel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testmodel.py b/testmodel.py index 4d16ba8..847ad3a 100755 --- a/testmodel.py +++ b/testmodel.py @@ -5,7 +5,7 @@ from asyncio.subprocess import STDOUT import simplejson as json from monotonic import monotonic -from OMPython import FindBestOMCSession, OMCSession, OMCSessionZMQ +from OMPython import OMCSession, OMCSessionZMQ import shared, glob parser = argparse.ArgumentParser(description='OpenModelica library testing tool helper (single model)') From fdf3ae0c2b3ab209954167db31213c72ed3700e8 Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Mon, 3 Nov 2025 10:26:06 +0100 Subject: [PATCH 02/11] Fixing OMPython version --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7c5e0e0..306e8e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,6 @@ juliacall matplotlib monotonic natsort -ompython==3.6 +OMPython==4.0 psutil simplejson From ba78302378d4400ca47d750e2802cbe8d18295f1 Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Mon, 3 Nov 2025 10:53:17 +0100 Subject: [PATCH 03/11] Use OMCProcessDocker - Also remove juliacall in non-BaseModelica.jl CI --- .github/workflows/test.yml | 1 + test.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c6cebe4..6caa8ed 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -53,6 +53,7 @@ jobs: - name: Install Python dependencies shell: bash run: | + sed -i '/^juliacall/d' requirements.txt # Remove juliacall to check if it works without pip install -r requirements.txt - name: Run library test diff --git a/test.py b/test.py index 5ee14df..98c87e2 100755 --- a/test.py +++ b/test.py @@ -260,7 +260,7 @@ def target(): print("Error: Expected at least one configuration file to start the library test") sys.exit(1) -from OMPython import OMCSession, OMCSessionZMQ +from OMPython import OMCSessionZMQ, OMCProcessDocker # Try to make the processes a bit nicer... os.environ["GC_MARKERS"]="1" @@ -276,7 +276,7 @@ def target(): ompython_omc_version=omc.sendExpression('getVersion()') os.environ["OPENMODELICAHOME"] = omhome else: - omc = OMCSessionZMQ(docker=docker, dockerExtraArgs=dockerExtraArgs) + omc = OMCProcessDocker(docker=docker, dockerExtraArgs=dockerExtraArgs) omhome=omc.sendExpression('getInstallationDirectoryPath()') omc_version=omc.sendExpression('getVersion()') ompython_omc_version=omc_version From 666e65b90e98fc99fb2dfb87a5874e1f935b1e1a Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Mon, 3 Nov 2025 14:59:55 +0100 Subject: [PATCH 04/11] Fix OMPython at at version 3.6 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 306e8e7..8cfcab1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,6 @@ juliacall matplotlib monotonic natsort -OMPython==4.0 +OMPython==3.6 psutil simplejson From 2829d69decbab846a9c6ce9bfc4dc764e0ddde5c Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Mon, 3 Nov 2025 15:02:47 +0100 Subject: [PATCH 05/11] Changed my mind --- requirements.txt | 2 +- test.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8cfcab1..306e8e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,6 @@ juliacall matplotlib monotonic natsort -OMPython==3.6 +OMPython==4.0 psutil simplejson diff --git a/test.py b/test.py index 98c87e2..218da34 100755 --- a/test.py +++ b/test.py @@ -267,7 +267,7 @@ def target(): print("Start OMC version") -if ompython_omhome != "": +if not docker: # Use a different OMC for running OMPython than for running the tests omhome = os.environ["OPENMODELICAHOME"] omc_version = check_output_log(omc_cmd + ["--version"], stderr=subprocess.STDOUT).decode("ascii").strip() @@ -276,7 +276,7 @@ def target(): ompython_omc_version=omc.sendExpression('getVersion()') os.environ["OPENMODELICAHOME"] = omhome else: - omc = OMCProcessDocker(docker=docker, dockerExtraArgs=dockerExtraArgs) + omc = OMCSessionZMQ(docker=docker, dockerExtraArgs=dockerExtraArgs) omhome=omc.sendExpression('getInstallationDirectoryPath()') omc_version=omc.sendExpression('getVersion()') ompython_omc_version=omc_version From e426490afe5a2f611d58faad00d32549b40bec4d Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:06:29 +0100 Subject: [PATCH 06/11] Fixing OMCSession calls - New case for docker --- test.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/test.py b/test.py index 218da34..d246d53 100755 --- a/test.py +++ b/test.py @@ -267,7 +267,12 @@ def target(): print("Start OMC version") -if not docker: +if docker + omc = OMCProcessDocker(docker=docker, dockerExtraArgs=dockerExtraArgs) + omhome=omc.sendExpression('getInstallationDirectoryPath()') + omc_version=omc.sendExpression('getVersion()') + ompython_omc_version=omc_version +elif ompython_omhome !== "": # Use a different OMC for running OMPython than for running the tests omhome = os.environ["OPENMODELICAHOME"] omc_version = check_output_log(omc_cmd + ["--version"], stderr=subprocess.STDOUT).decode("ascii").strip() @@ -276,10 +281,11 @@ def target(): ompython_omc_version=omc.sendExpression('getVersion()') os.environ["OPENMODELICAHOME"] = omhome else: - omc = OMCSessionZMQ(docker=docker, dockerExtraArgs=dockerExtraArgs) + omc = OMCSessionZMQ() omhome=omc.sendExpression('getInstallationDirectoryPath()') omc_version=omc.sendExpression('getVersion()') ompython_omc_version=omc_version + ompython_omc_version=ompython_omc_version.replace("OMCompiler","").strip() def timeSeconds(f): From 416d094fd4d7b780baa02dcb7f66fcc30bd6daad Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Wed, 12 Nov 2025 10:00:11 +0100 Subject: [PATCH 07/11] Fix syntax errors --- test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test.py b/test.py index d246d53..1e3dc16 100755 --- a/test.py +++ b/test.py @@ -267,12 +267,12 @@ def target(): print("Start OMC version") -if docker +if docker: omc = OMCProcessDocker(docker=docker, dockerExtraArgs=dockerExtraArgs) omhome=omc.sendExpression('getInstallationDirectoryPath()') omc_version=omc.sendExpression('getVersion()') ompython_omc_version=omc_version -elif ompython_omhome !== "": +elif ompython_omhome != "": # Use a different OMC for running OMPython than for running the tests omhome = os.environ["OPENMODELICAHOME"] omc_version = check_output_log(omc_cmd + ["--version"], stderr=subprocess.STDOUT).decode("ascii").strip() From 0d87d2cf25185882f64fd5e63bd8d49229a3938b Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Wed, 12 Nov 2025 10:24:54 +0100 Subject: [PATCH 08/11] Fixing testmodel.py --- conversionscript.py | 7 ++++--- testmodel.py | 8 ++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/conversionscript.py b/conversionscript.py index e572cf6..59f00b8 100755 --- a/conversionscript.py +++ b/conversionscript.py @@ -1,7 +1,8 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -from OMPython import OMCSessionZMQ, pyparsing +from OMPython import OMCSessionZMQ +import pyparsing import argparse import glob import json @@ -32,12 +33,12 @@ os.mkdir("converted-libraries/.openmodelica") os.mkdir("converted-libraries/.openmodelica/libraries") -def omcAssert(omc, cmd, extra=""): +def omcAssert(omc: OMCSessionZMQ, cmd: str, extra: str = ""): res = omc.sendExpression(cmd) if not res: raise Exception(cmd + "\n" + extra + "\n" + (omc.sendExpression("getErrorString()") or "")) -def omcSendExpression(omc, cmd, extra=""): +def omcSendExpression(omc: OMCSessionZMQ, cmd: str, extra: str = ""): try: return omc.sendExpression(cmd) except pyparsing.ParseException as e: diff --git a/testmodel.py b/testmodel.py index 847ad3a..2034b9b 100755 --- a/testmodel.py +++ b/testmodel.py @@ -5,7 +5,7 @@ from asyncio.subprocess import STDOUT import simplejson as json from monotonic import monotonic -from OMPython import OMCSession, OMCSessionZMQ +from OMPython import OMCSessionZMQ, OMCProcessDocker import shared, glob parser = argparse.ArgumentParser(description='OpenModelica library testing tool helper (single model)') @@ -251,7 +251,11 @@ def target(res): os.environ["OPENMODELICAHOME"] = omhome def createOmcSession(): - return OMCSession(docker=docker, dockerExtraArgs=dockerExtraArgs, timeout=5) if corbaStyle else OMCSessionZMQ(docker=docker, dockerExtraArgs=dockerExtraArgs, timeout=5) + if docker: + return OMCProcessDocker(docker=docker, dockerExtraArgs=dockerExtraArgs, timeout=5) + else: + return OMCSessionZMQ(timeout=5) + def createOmcSessionNew(): if ompython_omhome != "": os.environ["OPENMODELICAHOME"] = ompython_omhome From 7fb29a70a0b1b23d1c0eccf66a7c7c3bac597bac Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Wed, 12 Nov 2025 10:58:45 +0100 Subject: [PATCH 09/11] Clean up --- single-model.py | 6 ++-- test.py | 3 +- testmodel.py | 7 ++--- testresults.md | 82 ++++++++++++++++++++++++++++++++++--------------- 4 files changed, 64 insertions(+), 34 deletions(-) diff --git a/single-model.py b/single-model.py index d72e769..c3cd0aa 100755 --- a/single-model.py +++ b/single-model.py @@ -1,8 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -import sys, argparse -import simplejson as json +import argparse import shared parser = argparse.ArgumentParser(description='OpenModelica model testing report generation tool') @@ -21,8 +20,7 @@ libs = {} -import cgi, sqlite3, time, datetime -from omcommon import friendlyStr, multiple_replace +import sqlite3, datetime conn = sqlite3.connect('sqlite3.db') cursor = conn.cursor() diff --git a/test.py b/test.py index 1e3dc16..1e66330 100755 --- a/test.py +++ b/test.py @@ -8,11 +8,10 @@ if (sys.version_info < (3, 0)): raise Exception("Python2 is no longer supported") -import html, shutil, os, re, glob, time, argparse, sqlite3, datetime, math, platform +import html, shutil, os, re, glob, time, argparse, sqlite3, datetime, math from joblib import Parallel, delayed import simplejson as json import psutil, subprocess, threading, hashlib -from subprocess import call from monotonic import monotonic from omcommon import friendlyStr, multiple_replace from natsort import natsorted diff --git a/testmodel.py b/testmodel.py index 2034b9b..e7a0a0b 100755 --- a/testmodel.py +++ b/testmodel.py @@ -2,7 +2,6 @@ # -*- coding: utf-8 -*- import argparse, os, sys, signal, threading, psutil, subprocess, shutil -from asyncio.subprocess import STDOUT import simplejson as json from monotonic import monotonic from OMPython import OMCSessionZMQ, OMCProcessDocker @@ -58,7 +57,7 @@ def writeResult(): startJob=monotonic() -def quit_omc(omc): +def quit_omc(omc: OMCSessionZMQ | None): if omc is None: return omc try: @@ -72,7 +71,7 @@ def quit_omc(omc): omc = None return omc -def writeResultAndExit(exitStatus, useOsExit=False, omc=None, omc_new=None): +def writeResultAndExit(exitStatus: int, useOsExit: bool = False, omc: OMCSessionZMQ | None = None, omc_new: OMCSessionZMQ | None = None): writeResult() print("Calling exit ...") with open(errFile, 'a+') as fp: @@ -90,7 +89,7 @@ def writeResultAndExit(exitStatus, useOsExit=False, omc=None, omc_new=None): else: sys.exit(exitStatus) -def sendExpressionTimeout(omc, cmd, timeout): +def sendExpressionTimeout(omc: OMCSessionZMQ, cmd: str, timeout: int): with open(errFile, 'a+') as fp: fp.write("%s [Timeout %s]\n" % (cmd, timeout)) def target(res): diff --git a/testresults.md b/testresults.md index 56c3056..c1bfa22 100644 --- a/testresults.md +++ b/testresults.md @@ -2,42 +2,76 @@ ## Test reports -- **Overview with library test results across OMC versions**: These reports shows how libraries with full or partial support level - (see [here](https://github.com/OpenModelica/OMPackageManager/blob/master/README.md#library-support-levels-in-openmodelica) for more details) - are handled by released versions of OpenModelica and by the development version on the master branch. Regressions are marked in orange, +- **Overview with library test results across OMC versions**: + These reports shows how libraries with full or partial support level (see + [OMPackageManager, Library support levels](https://github.com/OpenModelica/OMPackageManager/blob/master/README.md#library-support-levels-in-openmodelica) + for more details) are handled by released versions of OpenModelica and by the + development version on the master branch. Regressions are marked in orange, improvements in green. - - [Default settings](https://libraries.openmodelica.org/branches/overview.html): simulation with C runtime and default settings - - [daeMode](https://libraries.openmodelica.org/branches/overview-dae.html): simulation with daeMode (compiler flag [--daeMode](https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-daemode)) - - [C++](https://libraries.openmodelica.org/branches/overview-c++.html): simulation with C++ runtime - - [FMI](https://libraries.openmodelica.org/branches/overview-fmi.html): simulation with FMI and C runtime - - [FMI C++](https://libraries.openmodelica.org/branches/overview-c++.html): simulation with FMI and C++ runtime -- **Regression reports and history plots**: regression reports are periodically generated, using the latest development version of OMC. - Changes w.r.t. the previous report are shown. For each tested library, .svg plots are also provided, showing the trends of the - results of each step over time. - - [Default settings](https://libraries.openmodelica.org/branches/history/master/): default omc settings, C runtime - - [daeMode](https://libraries.openmodelica.org/branches/history/daemode/): simulation with --daeMode - - [C++](https://libraries.openmodelica.org/branches/history/cpp/): simulation with C++ runtime - - [FMI](https://libraries.openmodelica.org/branches/history/master-fmi/): simulation with FMI, C runtime + + - [Default settings](https://libraries.openmodelica.org/branches/overview.html): + simulation with C runtime and default settings + - [daeMode](https://libraries.openmodelica.org/branches/overview-dae.html): + simulation with daeMode (compiler flag + [--daeMode](https://openmodelica.org/doc/OpenModelicaUsersGuide/latest/omchelptext.html#omcflag-daemode)) + - [C++](https://libraries.openmodelica.org/branches/overview-c++.html): + simulation with C++ runtime + - [FMI](https://libraries.openmodelica.org/branches/overview-fmi.html): + simulation with FMI and C runtime + - [FMI C++](https://libraries.openmodelica.org/branches/overview-c++.html): + simulation with FMI and C++ runtime + +- **Regression reports and history plots**: + Regression reports are periodically generated, using the latest development + version of OMC. Changes w.r.t. the previous report are shown. For each tested + library, .svg plots are also provided, showing the trends of the results of + each step over time. + + - [Default settings](https://libraries.openmodelica.org/branches/history/master/): + default omc settings, C runtime + - [daeMode](https://libraries.openmodelica.org/branches/history/daemode/): + simulation with --daeMode + - [C++](https://libraries.openmodelica.org/branches/history/cpp/): + simulation with C++ runtime + - [FMI](https://libraries.openmodelica.org/branches/history/master-fmi/): + simulation with FMI, C runtime ## How to read the test reports -The library testsuite job is run every night on the OSMC servers, testing open-source Modelica libraries covered by the -[Package Manager](https://github.com/OpenModelica/OMPackageManager#readme) with various versions of OpenModelica, -including the development version on the master branch. The simulations are run with the C-runtime, unless specified differently. +The library testsuite job is run every night on the OSMC servers, testing +open-source Modelica libraries covered by the +[Package Manager](https://github.com/OpenModelica/OMPackageManager#readme) +with various versions of OpenModelica, including the development version on the +master branch. The simulations are run with the C-runtime, unless specified +differently. + +Within each library, all models with an experiment(StopTime) annotations are +run. For each tested model, the results of the following steps are reported: -Within each library, all models with an experiment(StopTime) annotations are run. For each tested model, the results of the following steps are reported: - _parsing_ - _frontend_: flattening the model -- _backend_: structural analysis, index reduction, causalization, tearing, and all kind of symbolic manipulations and optimization to solve the model efficiently +- _backend_: structural analysis, index reduction, causalization, tearing, and + all kind of symbolic manipulations and optimization to solve the model + efficiently - _simcode_: intermediate stap towards simulation code generation - _templates_: generation of the actual C code - _compilation_: compilation of the C code into a simulation executable - _simulation_: the simulation is actually run to produce simulation results -- _verification_: if reference results file are available, they are compared with the simulation results +- _verification_: if reference results file are available, they are compared + with the simulation results -Clicking on the model name shows the log of phases from parsing to compilation. Clicking on the (sim) link shows the log of the runtime simulation. +Clicking on the model name shows the log of phases from parsing to compilation. +Clicking on the (sim) link shows the log of the runtime simulation. ## How to get your open-source library in the testsuite -If you are actively developing an open-source Modelica library using a GIT repository, you can easily get it included in the OpenModelica library testsuite. Please open a request on the [OpenModelica issue tracker](https://github.com/OpenModelica/OpenModelica/issues/new/choose). -Ideally, you should have two tests for it: one testing the latest official release, which can be used to check if changes to OMC cause regressions to the existing library, another one testing the development version, which also checks regressions caused by changes to the library code. You can then bookmark the page with the regression reports and the page with the test results obtained with your favourite settings. +If you are actively developing an open-source Modelica library using a GIT +repository, you can easily get it included in the OpenModelica library +testsuite. Please open a request on the +[OpenModelica issue tracker](https://github.com/OpenModelica/OpenModelica/issues/new/choose). +Ideally, you should have two tests for it: one testing the latest official +release, which can be used to check if changes to OMC cause regressions to the +existing library, another one testing the development version, which also checks +regressions caused by changes to the library code. You can then bookmark the +page with the regression reports and the page with the test results obtained +with your favourite settings. From 23af6793358b75b1c8cba7e30f1499f8b0fc5ae5 Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Wed, 12 Nov 2025 16:02:16 +0100 Subject: [PATCH 10/11] Ubuntu dev-container --- .devcontainer/devcontainer.json | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..c131aa1 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,27 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu +{ + "name": "Ubuntu", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/base:noble", + + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/python:1": { + "installTools": true, + "version": "latest" + } + } + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "uname -a", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} From 1e579a170d99d53004adb24a35530572c26b4e2b Mon Sep 17 00:00:00 2001 From: AnHeuermann <38031952+AnHeuermann@users.noreply.github.com> Date: Wed, 12 Nov 2025 17:19:26 +0100 Subject: [PATCH 11/11] Make sure to always use an absolute path - On the CI path to reference files is relative, but scripts need it to be absolute. --- .devcontainer/devcontainer.json | 4 ++-- .devcontainer/install.mos | 2 ++ .devcontainer/install.sh | 14 ++++++++++++++ .github/workflows/test.yml | 5 +++-- .github/workflows/test_julia.yml | 3 ++- shared.py | 5 +++-- 6 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 .devcontainer/install.mos create mode 100644 .devcontainer/install.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c131aa1..46de937 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -11,13 +11,13 @@ "installTools": true, "version": "latest" } - } + }, // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "uname -a", + "postCreateCommand": "bash .devcontainer/install.sh && omc .devcontainer/install.mos && pip install -r requirements.txt" // Configure tool-specific properties. // "customizations": {}, diff --git a/.devcontainer/install.mos b/.devcontainer/install.mos new file mode 100644 index 0000000..aa626ee --- /dev/null +++ b/.devcontainer/install.mos @@ -0,0 +1,2 @@ +updatePackageIndex(); getErrorString(); +installPackage(Modelica, version="4.0.0", exactMatch=true); getErrorString(); diff --git a/.devcontainer/install.sh b/.devcontainer/install.sh new file mode 100644 index 0000000..65472c3 --- /dev/null +++ b/.devcontainer/install.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +sudo apt-get update +sudo apt-get install ca-certificates curl gnupg -qy +sudo curl -fsSL http://build.openmodelica.org/apt/openmodelica.asc | \ + sudo gpg --dearmor -o /usr/share/keyrings/openmodelica-keyring.gpg + +echo "deb [arch=amd64 signed-by=/usr/share/keyrings/openmodelica-keyring.gpg] \ + https://build.openmodelica.org/apt \ + noble \ + stable" | sudo tee /etc/apt/sources.list.d/openmodelica.list + +sudo apt update +sudo apt install --no-install-recommends omc -qy diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6caa8ed..5eb8140 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -58,8 +58,9 @@ jobs: - name: Run library test shell: bash + env: + MY_SANITY_CHECK_DIRECTORY: sanityCheck run: | - export MY_SANITY_CHECK_DIRECTORY=sanityCheck python test.py --branch="${{ matrix.omc-version }}" --noclean --verbose ${{ matrix.msysEnvironment }} configs/sanityCheck.json - name: Generate HTML results @@ -74,7 +75,7 @@ jobs: - name: Verify that overview.html contains simulation and verification shell: bash run: | - if ! grep -q "