Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
459 commits
Select commit Hold shift + click to select a range
5cee5e7
use python3 -m fmpy instead of fmpy
adrpo Nov 22, 2023
441c8b0
another instance
adrpo Nov 23, 2023
8ca8a42
Don't run fmpy to get the version
adrpo Nov 23, 2023
94a06fe
The other branch!
adrpo Nov 23, 2023
5c88a6b
Put back the fmpy version
adrpo Nov 23, 2023
cd9cdd4
see why it fails, catch the exception
adrpo Nov 23, 2023
872cfec
bind the variable before use
adrpo Nov 23, 2023
ad52e0d
mind the caps
adrpo Nov 23, 2023
dfbfa7a
is called --relative-tolerance in fmpy
adrpo Nov 23, 2023
032ef64
use the actual given fmisimulator
adrpo Nov 23, 2023
c1991aa
grep the version out of FMPy help
adrpo Nov 24, 2023
6b4647b
Check for nothing before using variable
adrpo Nov 25, 2023
1d6ac42
add info about OpenModelicaLibraryTesting used to run the test
adrpo Nov 28, 2023
74f1379
Fix html (#51)
AnHeuermann Jan 15, 2024
13d9146
Merge branch 'master' of https://github.com/OpenModelica/OpenModelica…
adrpo Jan 16, 2024
964693f
fmisimulatorversion is expected to be bytes later on, encode the stri…
adrpo Jan 16, 2024
cdf8271
Fixing Python string (#52)
AnHeuermann Jan 16, 2024
898d271
install FMPy needed dependencies
adrpo Jan 18, 2024
4e28c3c
do not escape html for #OpenModelicaLibraryTesting#, use #libraryVers…
adrpo Jan 18, 2024
cab1895
install FMPy needed dependencies
adrpo Jan 18, 2024
3d8c803
install FMPy needed dependencies
adrpo Jan 18, 2024
5e8df26
do apt-get update before installing libx* FMPy deps
adrpo Jan 18, 2024
1ed06f3
remove unused code
adrpo Jan 18, 2024
dd87713
Fix typo and missing header
adrpo Jan 19, 2024
1e56005
compact the html text
adrpo Jan 19, 2024
e188a42
Adding CI (#53)
AnHeuermann Jan 22, 2024
d6c5a71
Added reference files for PowerGrids
casella Jan 27, 2024
0d154c9
generate plots for newInst-newBackend
adrpo Jan 29, 2024
e3e3755
is - not _
adrpo Jan 30, 2024
03dc8b5
switch NF-NB with master
adrpo Feb 1, 2024
86ec047
add exectime last in the table to easier spot issues
adrpo Feb 3, 2024
df13427
add the actuall cell to the table
adrpo Feb 3, 2024
7b47871
Fixed owner of setup-openmodelica (#55)
AnHeuermann Feb 4, 2024
2854981
Add verbose mode to test.py (#42)
AnHeuermann Feb 4, 2024
304f2a7
Specify branch and directory for github reference files (#56)
AnHeuermann Feb 7, 2024
65dd730
Updated heavy test timeouts (#59)
casella Feb 23, 2024
045cb46
Windows support (#58)
AndreaBartolini Mar 1, 2024
981cf23
Updating README (#60)
AnHeuermann Mar 1, 2024
fee7872
Sanity test (#69)
AnHeuermann Mar 4, 2024
4faba70
Use sys.executable instead of "python" (#68)
AnHeuermann Mar 4, 2024
3c703d3
add Buildings 10.0.0 to testing (#70)
adrpo Mar 4, 2024
cdc9f86
Updating ClaRa reference file location (#61)
AnHeuermann Mar 4, 2024
f6c07fc
check if key exists in dictionary (#71)
adrpo Mar 4, 2024
042165c
do not fail on git reset --hard UnknownBranch (#72)
adrpo Mar 4, 2024
8c9d87c
do not fail on reference files git commands (#73)
adrpo Mar 4, 2024
6ec233f
fix Buildings 10 addition (#74)
adrpo Mar 4, 2024
ba1148f
fix the rsync of files to libraries.openmodelica.org (#76)
adrpo Mar 7, 2024
c36be38
Removed Buildings 8.1.x from the library testing (#77)
casella Mar 13, 2024
a58c6c8
select ModelExchange and output-interval for FMPy (#79)
adrpo Mar 19, 2024
6f687c7
add origin to the git-ref so that git reset --hard on git-ref works (…
adrpo Mar 25, 2024
5d65dc5
log every call to subprocess.check_output to debug issues with refere…
adrpo Mar 25, 2024
d306bd3
log even more (#84)
adrpo Mar 25, 2024
aa2ef6e
add more tests to sanity check (#85)
adrpo Mar 25, 2024
eaace3d
Added BusinessSimulation to loaded libraries for testing (#86)
casella Mar 26, 2024
4763a4a
Added testing of BusinessSimulation (#87)
casella Mar 26, 2024
d1108d4
Add missing quote (#89)
adrpo Mar 27, 2024
ed5099f
silence debugging but show progress (#88)
adrpo Mar 27, 2024
2ef9357
check if .CI/installLibraries.mos works properly (#91)
adrpo Mar 27, 2024
d72d959
support multiple ignoreModelPrefix in configs (#92)
adrpo Mar 28, 2024
cf7cf34
run .CI/installLibraries.mos only on Linux as is slow on Windows (#93)
adrpo Mar 28, 2024
1f04a82
for loop, add sanity test for multiple ignoreModelPrefix (#94)
adrpo Mar 29, 2024
9216f81
properly add origin/ to git-ref if needed (#95)
adrpo Mar 29, 2024
32ecf66
Updated BusinessSimulation (#98)
casella Apr 4, 2024
d5ab835
Updated BusinessSimulation (#97)
casella Apr 4, 2024
f1d6559
add v1.23 to testing (#99)
adrpo Apr 10, 2024
684b251
comment older stages to fix: Method too large (#100)
adrpo Apr 17, 2024
1e3d4a8
do not fail on non existing branches, add them to the email (#101)
adrpo Apr 17, 2024
da6d21d
do not fail the entire report if a branch cannot be found (#104)
adrpo Apr 27, 2024
f0c0d12
remove the missing branches after the loop (#105)
adrpo Apr 28, 2024
8be5462
Update Buildings conf.json (#106)
casella May 15, 2024
8035268
Update installLibraries.mos for Buildings (#107)
casella May 16, 2024
3e0093f
Put back buildings libs (#109)
adrpo May 19, 2024
e3bb3b7
Added SOFCPoliMi to conf.json (#110)
casella Jun 4, 2024
01773af
Added SOFCPoliMi to installLibraries.mos (#111)
casella Jun 4, 2024
a31ed25
make the proper order in the FMI report (#112)
adrpo Jun 5, 2024
68f3bf8
Update installLibraries.mos (#114)
casella Jun 19, 2024
d05586d
Added testing of last released ThermoFluidStream (#113)
casella Jun 19, 2024
b368291
add MSL maint/4.1.x via 4.1.0-beta.om (#115)
adrpo Jun 20, 2024
52d8a24
Re-introduced scalable test grids (#118)
casella Sep 18, 2024
64d61a6
Reduce timeouts for Buildings (#125)
casella Sep 23, 2024
c968de8
Added -d=arrayConnect (#127)
casella Sep 24, 2024
f11582e
Added BoundaryInitBlocks library (#126)
casella Sep 25, 2024
1d63568
debug messages activation by flag added (#123)
AndreaBartolini Sep 25, 2024
cee4043
Preliminary cleaning of the ./file dir under Win or if the flag noSyn…
AndreaBartolini Sep 25, 2024
c16900e
Added BoundaryInitBlocks (#129)
casella Sep 25, 2024
f7da7cb
Added management of blank char in path for Popen calls (win only) (#120)
AndreaBartolini Sep 25, 2024
0267cfb
Update conf.json (#130)
casella Sep 26, 2024
01d5985
Update conf.json (#131)
casella Sep 28, 2024
420ea8e
Update heavy_tests.json.bak (#132)
casella Oct 11, 2024
c23f809
Update heavy_tests.json (#133)
casella Oct 11, 2024
f52568d
Prepared tests with scalabletestgrids only. Updated .bak file (#134)
casella Oct 11, 2024
3515f53
display the revision of the result files if available (#136)
adrpo Oct 15, 2024
e82c26a
Added ModelicaTest 4.1.0 beta (#137)
casella Oct 20, 2024
4f2c30f
Update heavy_tests.json (#138)
casella Oct 21, 2024
01ac574
Fixing #139 (#140)
adrpo Oct 28, 2024
d29877d
Reduced time limits. Removed some tests for faster debugging (#141)
casella Oct 29, 2024
82b553f
Ticket139 take two (#142)
adrpo Oct 29, 2024
4334bca
put back the propagation of --jobs to run heavy_tests in serial (#143)
adrpo Oct 30, 2024
941f599
Update conf.json (#144)
casella Oct 30, 2024
9537ad7
Update conf.json (#146)
casella Oct 30, 2024
ebaaddf
add debuging and test for env var in config referenceFiles (#147)
adrpo Oct 30, 2024
350ecc9
Update installLibraries.mos (#145)
casella Oct 30, 2024
98feff2
Fix hardcoded number of intervals (#149)
adrpo Oct 30, 2024
50743ff
Updated test script backup with new flags for parallel building and C…
casella Oct 30, 2024
54beace
attempt to use alarm for omc timeouts (#151)
adrpo Oct 31, 2024
0d43112
use max(defaultNumberOfIntervals, numberOfIntervalsInReference) for s…
adrpo Oct 31, 2024
8de10ea
All heavy_tests compiled with -O0 for highest compilation speed (#153)
casella Nov 1, 2024
721a2da
use os._exit(exitStatus) instead of haging sys.exit(exitStatus) (#154)
adrpo Nov 2, 2024
c1fa44f
write status to err file (#155)
adrpo Nov 2, 2024
7cb656e
Slightly increased timeout to accommodate larger models in LargeTestS…
casella Nov 4, 2024
704da98
do not test obsolete libraries anymore (#156)
adrpo Nov 5, 2024
601df32
More load timeout less fmi parallel (#158)
adrpo Nov 6, 2024
99d9c88
remove the wrong extra ) (#159)
adrpo Nov 6, 2024
d8dc6f5
Modelica in different directory management added (#122)
AndreaBartolini Nov 6, 2024
187f86e
use sys.exit on good paths to not create zombies (#160)
adrpo Nov 6, 2024
e8d92cd
return the FMI testing to max cores (#161)
adrpo Nov 6, 2024
a609750
Update FMPy before testing (#163)
adrpo Nov 7, 2024
b29cf6d
Update heavy_tests.json (#164)
casella Nov 7, 2024
f313ab3
lower cores to 8 for FMI jobs, fix job reports, add v1.24 (#165)
adrpo Nov 7, 2024
071c6c0
create initial 00_history.html automatically so we do not fail report…
adrpo Nov 9, 2024
93cbe3e
quote $ in Jenkins groovy (#168)
adrpo Nov 9, 2024
ffe1a9f
execute all the command via the ssh! (#169)
adrpo Nov 9, 2024
1501f03
it seems it requires to be left aligned (#170)
adrpo Nov 9, 2024
3b39b0d
map host user to docker user (#171)
adrpo Nov 10, 2024
fbb5f6a
this is not working, disable it for now (#172)
adrpo Nov 10, 2024
51acee0
run the c++ tests on 8 cores (#174)
adrpo Nov 12, 2024
7c7b4b7
Updated flag for symbolic jacobians (#175)
casella Nov 12, 2024
6e42432
Updated flags for jacobians (#177)
casella Nov 12, 2024
0bb942c
exit the interactive OMPython session (#178)
adrpo Nov 21, 2024
75043f1
Updated flag for jacobians (#176)
casella Nov 21, 2024
87d7358
display the OMSimulator hashes (#179)
adrpo Nov 21, 2024
7a0df51
python cannot find local fmpy as we are setting the HOME (#181)
adrpo Nov 23, 2024
30fba40
display the FMI tool version in the library HTML report (#182)
adrpo Nov 23, 2024
6675383
generate reports for gbode and cvode (#183)
adrpo Nov 23, 2024
3b2e71d
do not fail if is already linked (#184)
adrpo Nov 23, 2024
81dd075
do not distribute zero step size (#185)
adrpo Nov 28, 2024
3ac22c0
Do not add heavy (#186)
adrpo Nov 29, 2024
4c1c116
Increased simulation time allowance for Buildings_latest (#187)
casella Dec 5, 2024
8bed2c9
Dropped Dynawo 1.6.x from installed libraries for testing (#189)
casella Jan 14, 2025
f855b56
Addes non-standard Modelica flag to Dynawo for testing (#190)
casella Jan 14, 2025
1096842
Dropped Dynawo 1.6.x from testing (#188)
casella Jan 20, 2025
5ac40ea
Run LargeTestSuite_NB with and without --resizableArrays (#192)
casella Jan 20, 2025
29c5aef
Add NeuralNetwork to testing (#116)
AnHeuermann Jan 30, 2025
b40550b
remove unused parameters (#194)
adrpo Feb 11, 2025
d858415
move cleanup stage to the end of runRegressiontest (#198)
adrpo Feb 18, 2025
4aed1a0
fix broken cd (#199)
adrpo Feb 21, 2025
a5b7ebc
install ModelicaServices 4.1.0 (#201)
adrpo Mar 3, 2025
db639b2
Added reference files for Dynawo_dev (#202)
casella Mar 14, 2025
32a399c
Updates after branching off the 1.25 maintenance branch (#203)
casella Mar 26, 2025
8364462
Dropped testing of Buildings 10, added Buildings 12 (#204)
casella Mar 28, 2025
3ebd3d2
install Buildings 12 (#205)
adrpo Mar 29, 2025
c5c802f
keep just MSL 3.2.3 and 4.1.0 to check coverage (#207)
adrpo Apr 2, 2025
775d8b7
Increased ClaRa timeouts (#208)
casella Apr 2, 2025
51dc8b8
Removed old Buildings libraries from installation script (#206)
casella Apr 2, 2025
7053300
do not upgrade libs to not force reinstall (#209)
adrpo Apr 2, 2025
2ab77cd
revert the testing with MSL4.1.0 changes (#210)
adrpo Apr 2, 2025
a7fcaa5
Updated configurations to test released 4.1.0 instead of 4.1.0.beta.1…
casella May 27, 2025
6d6bfe5
Add new json field to force library version exact match - to be used …
adrpo May 28, 2025
ed227ef
Read for new round of testing June 2025 (#215)
casella Jun 27, 2025
9d71931
Update heavy_tests.json (#216)
casella Jul 14, 2025
78b314a
Update heavy_tests.json (#218)
casella Jul 23, 2025
a0b19ca
Added Pharmacolibrary to tested library (#221)
casella Sep 10, 2025
a7eaa7c
BaseModelica export and import with BaseModelica.jl (#220)
AnHeuermann Sep 15, 2025
e7b018e
Fix installLibraries.mos (#223)
AnHeuermann Sep 18, 2025
f86915d
Fixing missing JULIA_TESTTING_FLAG (#224)
AnHeuermann Sep 18, 2025
a0cb54d
Revert basemodelica.jl import (#225)
AnHeuermann Sep 18, 2025
0e573be
Basemodelica import (#226)
AnHeuermann Sep 19, 2025
ea582ef
Fix test.py call from Jenkins (#227)
AnHeuermann Sep 22, 2025
cd6607b
Adding content of julia call file to sim log (#228)
AnHeuermann Sep 22, 2025
d4389c9
Tests Co-Simulation with CVODE for FMUs (#229)
AnHeuermann Sep 23, 2025
2a27546
Adding URDFModelica (#230)
AnHeuermann Sep 23, 2025
0ec76c6
Update conf.json (#231)
casella Sep 27, 2025
7407d27
Validate JSON CI (#232)
AnHeuermann Sep 28, 2025
ced5ac1
Fixing typo in Jenkinsfile (#233)
AnHeuermann Sep 28, 2025
337a009
Fixing another error in Jenkinsfile (#234)
AnHeuermann Sep 28, 2025
85977ba
Fix git error (#235)
AnHeuermann Sep 29, 2025
cdd9d03
Formatted README.md (#236)
AnHeuermann Sep 29, 2025
d8af312
Adding URDFModelica reference results (#237)
AnHeuermann Oct 2, 2025
7662c33
Adding URDFModelica to installLibraries.mos (#240)
AnHeuermann Oct 8, 2025
a7b2e82
Adding LEPSE (#242)
AnHeuermann Oct 15, 2025
601633f
Fixing OMPython at v3.6 (#245)
AnHeuermann Nov 12, 2025
3aa8a07
Updating to OMPython 4.0 (#244)
AnHeuermann Nov 13, 2025
41a6ced
Catch loadModel errors (#246)
AnHeuermann Nov 13, 2025
d4f7f40
Revert unrealed change to regex (#247)
AnHeuermann Nov 13, 2025
342ed04
More fixes (#248)
AnHeuermann Nov 14, 2025
6d4ecbb
Revert #244, #246, #247, #248 (#251)
AnHeuermann Nov 17, 2025
0e9a9de
Adding TILMedia_AddOn_Tests (#253)
AnHeuermann Nov 20, 2025
1ce0fe0
Update script to work with ModelingToolkit 10 (#250)
AnHeuermann Nov 25, 2025
eafd878
Fix path in pre-compile script (#255)
AnHeuermann Nov 25, 2025
12a07bd
Disabeling BaseModelica.jl pre-compilation (#257)
AnHeuermann Nov 26, 2025
e46ee83
Update compilation parameters for BaseModelica.jl testing (#258)
casella Nov 28, 2025
9ff4694
Add flag to scalarize systems (#259)
casella Dec 1, 2025
a8b7fb3
update HelmholtzMedia (#261)
adrpo Dec 4, 2025
f269188
add extra simflags gbode (#262)
adrpo Dec 11, 2025
7aa8639
Also load Chemical 1.4.1, needed by Physiolibrary
casella Feb 4, 2026
d5e922d
Update MTK from 10 to 11 (#268)
JKRT Feb 11, 2026
369beff
Added a test job using IDA as default solver, with the same frequency…
JKRT Feb 11, 2026
059e786
Add newBackend-daeMode on-demand test job (#217) (#269)
JKRT Feb 12, 2026
d85ac0c
Remove TestBaseModelica Manifest (#270)
AnHeuermann Feb 13, 2026
a654b57
Only import basemodelica if needed (#271)
AnHeuermann Feb 13, 2026
01ac33b
Add illegalConditionalContext flag to AES and Dynawo
perost Feb 24, 2026
3cc869b
disable 1.24 and add 1.26 (#274)
adrpo Mar 6, 2026
5cb3918
replace Radau IIA with ESDIRK4 (#275)
linuslangenkamp Mar 10, 2026
281a679
Remove Base Modelica MTK test (#276)
AnHeuermann Mar 16, 2026
0e9c598
Don't fail all-reporst.py when branch history is missing (#278)
AnHeuermann Mar 25, 2026
f2d17e9
[GBODE] set 3-stage Radau IIA as default integrator (#279)
linuslangenkamp Mar 26, 2026
2a49f69
Add ThermoPower branch v4.0.0-dev to the CI (#280)
AndreaBartolini Mar 26, 2026
dbfd136
[GBODE] set ESDIRK4 as default integrator (#281)
linuslangenkamp Mar 27, 2026
8f4dee7
[GBODE] switch to Radau IIA once again (#282)
linuslangenkamp Apr 1, 2026
2915413
update the way we get the version for FMPy (#283)
adrpo Apr 9, 2026
e83c3f4
cannot run python -m fmpy via check_output_log (#284)
adrpo Apr 14, 2026
1dd4db7
force fetch of tags to handle the floating tag 'nightly' (#285)
adrpo Apr 19, 2026
12a0178
drop v1.25 and add v1.27 (#286)
adrpo Jun 6, 2026
d357aff
Fix OMSimulator submodule update when directory layout changes (#287)
AnHeuermann Jun 12, 2026
6697fc0
[GBODE] set Radau IIA 3-stage, remove embedded error estimate (#288)
linuslangenkamp Jul 6, 2026
90e8bc6
Support simCodeTarget=wasm-jit in the test tool
sjoelund Aug 4, 2026
0232044
Separate wasm-jit compile time from sim time
sjoelund Aug 4, 2026
7bfa82f
Add wasm-jit testing (#289)
sjoelund Aug 4, 2026
9bc8170
Build omc with cmake when cmake flags are given (#290)
sjoelund Aug 4, 2026
3ff0f28
Run the wasm-jit library test in docker (#291)
sjoelund Aug 5, 2026
8a30d6d
Handle dygraphs missing in a docker image (#292)
sjoelund Aug 5, 2026
3bc2f34
Add a wasm-jit overview report (#293)
sjoelund Aug 6, 2026
65f890e
Apply -alarm to wasm-jit simulations too
sjoelund Aug 7, 2026
f052940
Apply __OpenModelica_simulationFlags to wasm-jit
sjoelund Aug 7, 2026
cbd3912
FMI build once simulate many (#297)
adrpo Aug 11, 2026
e48fd06
sqlite3 to postgresql - migration (#296)
adrpo Aug 11, 2026
5a54c35
Bind the pgpass credential where there is a workspace to write it to …
adrpo Aug 11, 2026
dd76013
Pass the count of re.sub by keyword (#298)
adrpo Aug 11, 2026
eb86871
Make the configuration hash the same on every machine (#303)
adrpo Aug 11, 2026
f35c342
Survive losing the connection to the results database (#300)
adrpo Aug 11, 2026
1b64688
Build the report image on the same base as OpenModelica (#304)
adrpo Aug 11, 2026
2c481fc
Claim a library for a branch, not for a configuration (#305)
adrpo Aug 11, 2026
7fc4514
Remove the sqlite3 file handling from the pipeline (#306)
adrpo Aug 11, 2026
4dc7387
Test every library of an FMI job with FMI (#309)
adrpo Aug 12, 2026
44efed0
Record what a command killed by the watchdog cost (#310)
adrpo Aug 12, 2026
dc682c8
Let the other simulators run when the first one fails (#311)
adrpo Aug 12, 2026
d82101f
Merge report stages and add wasm-jit to history/overview (#312)
sjoelund Aug 13, 2026
dc39a10
Strip -rust suffix from version for git range queries (#313)
sjoelund Aug 13, 2026
2ee99a9
Install jinja2 in wasm-jit image for Buildings library (#314)
sjoelund Aug 13, 2026
c65d56a
Add some MDD dependencies (#315)
sjoelund Aug 14, 2026
cb514ad
Run wasm-jit on same node as master (#316)
sjoelund Aug 17, 2026
ed8e4cb
Limit the memory of a dockerized test job (#317)
sjoelund Aug 17, 2026
9a153eb
Give wasm-jit more RAM (#318)
sjoelund Aug 18, 2026
b5ecbba
wasm-jit should run on 9950x
sjoelund Aug 18, 2026
9078733
Add old Python packages to wasm-jit image
sjoelund Aug 18, 2026
26ba4cf
Fix BuildSysPro's external "C" include directory (#319)
sjoelund Aug 20, 2026
54cae49
For the Rust image: include libpython
sjoelund Aug 20, 2026
c963e04
Record the machine that produced each library's results (#320)
adrpo Aug 21, 2026
921bba4
Workaround for older Buildings versions (#321)
sjoelund Aug 21, 2026
07e531b
Run the library testing on a pull request (#307)
adrpo Aug 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
962 changes: 684 additions & 278 deletions .CI/Jenkinsfile

Large diffs are not rendered by default.

8 changes: 6 additions & 2 deletions .CI/build-dep/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
FROM docker.openmodelica.org/build-deps:v1.13
# The image the OpenModelica repository builds against, see its .CI/common.groovy
FROM docker.openmodelica.org/build-deps:ubuntu-22.04

RUN pip3 install matplotlib
# -y because a base image that does not assume it turns the build into a prompt,
# and python3-pip because the line below needs it and the base may not carry it.
RUN apt-get update && apt-get install -y libxml2 libxslt1.1 libxml2-dev libxslt1-dev python3-pip
RUN pip3 install matplotlib FMPy psycopg2-binary
115 changes: 105 additions & 10 deletions .CI/installLibraries.mos
Original file line number Diff line number Diff line change
@@ -1,29 +1,124 @@
// adrpo: DO NOT REMOVE ANY LIBS FROM HERE BEFORE REMOVING THEM FROM configs/conf*
// usually the newest version will be loaded instead if you remove them!
// SO: first remove them from configs/conf* then remove them from here.
updatePackageIndex();
if not installPackage(Modelica, "3.1.0", exactMatch=true) then
print("Modelica 3.1.0 " + getErrorString() + "\n");
exit(1);
end if;
for v in {"3.2.1","3.2.2","3.2.3","4.0.0","trunk"} loop
for v in {"3.2.1","3.2.2","3.2.3","4.0.0","4.1.0","trunk"} loop
if not installPackage(ModelicaTest, v, exactMatch=true) then
print("ModelicaTest " + v + " " + getErrorString() + "\n");
exit(1);
end if;
end for;
for v in {"1.6", "3.0.0", "maint.7.0.x", "8.0.0", "master"} loop
for v in {"1.6", "3.0.0", "maint.7.0.x", "maint.8.1.x", "maint.9.1.x", "maint.10.0.x", "maint.11.x", "maint.12.x", "master"} loop
if not installPackage(Buildings, v) then
print("Buildings " + v + " " + getErrorString() + "\n");
exit(1);
end if;
end for;

for lib in {"AdvancedNoise", "AixLib", "BioChem", "BuildingSystems", "BuildSysPro", "Chemical", "ClaRa_Obsolete", "ClaRa", "ConPNlib", "ElectricalEnergyStorage", "ExternData", "ExternalMemoryLib", "FastBuildings", "FCSys", "HanserModelica", "HelmholtzMedia", "IBPSA", "IdealizedContact", "IndustrialControlSystems", "KeyWordIO", "LibRAS", "MEV", "MessagePack", "ModelicaByExample", "ModelicaTestOverdetermined", "Modelica_Synchronous", "Modelica_DeviceDrivers", "Modelica_LinearSystems2", "Modelica_Noise", "ObjectStab", "OpenHydraulics", "OpenIPSL", "PNlib", "Physiolibrary", "PlanarMechanics", "PowerGrids", "PowerSysPro", "ScalableTestGrids", "ScalableTestSuite", "SolarTherm", "Spot", "SystemDynamics", "TAeZoSysPro", "TAeZoSysPro_testsuite", "ThermalSeparation", "ThermoPower", "ThermoSysPro", "VehicleInterfaces"} loop
if not installPackage(stringTypeName(lib), "master") then
print(lib + " " + getErrorString() + "\n");
exit(1);
end if;
end for;

for l in {{"AES", "main"}, {"Annex60", ""}, {"ExtendedPetriNets", ""}, {"iPSL", ""}, {"PhotoVoltaics", ""}, {"PhotoVoltaics_TGM", ""}, {"PowerSystems","master"}, {"PowerSystems",""}, {"SiemensPower",""}, {"SiemensPower","OMCtest"}, {"Modelica_StateGraph2", ""}, {"OpenIPSL", ""}, {"Physiomodel", ""}, {"ThermofluidStream", "main"}, {"ThermofluidStream", "0.2.0-OM_adaptions"}, {"TILMedia", "ClaRa"}} loop
for l in {
{"AdvancedNoise", "master"},
{"AES", "main"},
{"AixLib", "main"},
{"Annex60", ""},
{"BidiDCDC", ""},
{"BioChem", "master"},
{"BLDC", ""},
{"BoundaryInitBlocks", "master"},
{"BuildingSystems", "master"},
{"BuildSysPro", "master"},
{"BusinessSimulation", ""},
{"BusinessSimulation", "main"},
{"Chemical", "1.4.1"},
{"Chemical", "master"},
{"ClaRa", ""},
{"ClaRa", "main"},
{"ConPNlib", "master"},
{"Credibility", ""},
{"DeltaRobot", ""},
{"DroneLibrary", ""},
{"Dynawo", ""},
{"Dynawo", "master"},
{"EHPTexamples", ""},
{"EHPTexamples", "main"},
{"EHPTlib", ""},
{"EHPTlib", "main"},
{"ElectricalEnergyStorage", "master"},
{"ExtendedPetriNets", ""},
{"ExternalMedia",""},
{"ExternalMemoryLib", "master"},
{"ExternData", "master"},
{"FastBuildings", "master"},
{"FCSys", "master"},
{"FluxTubesExtension","main"},
{"Greenhouses", "master"},
{"HanserModelica", "master"},
{"HelmholtzMedia", "main"},
{"IBPSA", "master"},
{"IdealizedContact", "master"},
{"IDEAS", ""},
{"IDEAS", "master"},
{"IndustrialControlSystems", "master"},
{"iPSL", ""},
{"KeyWordIO", "master"},
{"LargeTestSuite", "master"},
{"LEPSE", "main"},
{"LibRAS", "master"},
{"MagLev", ""},
{"MessagePack", "master"},
{"MEV", "master"},
{"Modelica_DeviceDrivers", "master"},
{"Modelica_LinearSystems2", "dev"},
{"Modelica_LinearSystems2", "master"},
{"Modelica_Noise", "master"},
{"Modelica_StateGraph2", ""},
{"Modelica_Synchronous", "master"},
{"ModelicaByExample", "master"},
{"ModelicaTestOverdetermined", "master"},
{"NeuralNetwork", "main"},
{"ObjectStab", "master"},
{"OpenHydraulics", "main"},
{"OpenIMDML", "main"},
{"OpenIPSL", ""},
{"OpenIPSL", "2.0.0"},
{"OpenIPSL", "master"},
{"PhotoVoltaics_TGM", ""},
{"PhotoVoltaics", ""},
{"Physiolibrary", "master"},
{"Physiomodel", ""},
{"PlanarMechanics", "master"},
{"PNlib", "master"},
{"PowerGrids",""},
{"PowerGrids","develop"},
{"PowerSysPro", "master"},
{"PowerSystems",""},
{"PowerSystems","master"},
{"ScalableTestGrids", "master"},
{"ScalableTestSuite", "master"},
{"SiemensPower",""},
{"SiemensPower","OMCtest"},
{"SOFCPoliMi","master"},
{"SolarTherm", "master"},
{"Spot", "master"},
{"StewartPlatform",""},
{"SystemDynamics", "master"},
{"TAeZoSysPro_testsuite", "master"},
{"TAeZoSysPro", "master"},
{"ThermalSeparation", "master"},
{"ThermofluidStream", ""},
{"ThermofluidStream", "main"},
{"ThermoPower", "master"},
{"ThermoPower", "4.0.0-dev"},
{"ThermoSysPro", "master"},
{"TILMedia", "main"},
{"TILMedia_AddOn_Tests", "main"},
{"TransiEnt", "master"},
{"VehicleInterfaces", "master"},
{"URDFModelica", "main"}
} loop
if not installPackage(stringTypeName(l[1]), l[2]) then
print(l[1] + " " + l[2] + getErrorString() + "\n");
exit(1);
Expand Down
42 changes: 42 additions & 0 deletions .CI/wasm-jit/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Image for the targets needing the Rust omc (wasm-jit); the nodes run an Ubuntu
# too old to build it. Built by .CI/Jenkinsfile, with this directory as the
# context (the job copies requirements.txt into it).
FROM docker.openmodelica.org/build-deps:ubuntu-26.04-rust

# rsync/ssh publish the results; time and killall are used around test.py.
# libcomedi-dev libx11-dev is used by Modelica_DeviceDrivers
# Python 3.8 and 3.12 are used by Buildings
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update \
&& apt-get install -qy software-properties-common \
&& add-apt-repository -y ppa:deadsnakes/ppa \
&& apt-get install -qy --no-install-recommends openssh-client psmisc rsync time \
&& apt-get install -qy --no-install-recommends libcomedi-dev libx11-dev \
&& apt-get install -qy python3.8 python3.12 libpython3.8-dev libpython3.12-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

# On PATH rather than named explicitly: test.py starts testmodel.py through its
# `#!/usr/bin/env python3` shebang.
COPY requirements.txt /tmp/requirements.txt
RUN python3 -m venv /opt/libtest-venv \
&& /opt/libtest-venv/bin/pip install --no-cache-dir -r /tmp/requirements.txt \
# Python dependencies of library install scripts (e.g. Buildings EnergyPlus)
&& /opt/libtest-venv/bin/pip install --no-cache-dir jinja2 \
&& rm /tmp/requirements.txt
ENV PATH=/opt/libtest-venv/bin:$PATH

# The omc for --ompython_omhome (the tested one is built in the workspace). The
# base image points apt at the nightly component; use stable instead.
# OMC_VERSION pins a version, empty takes the newest stable one.
ARG OMC_VERSION=
RUN export DEBIAN_FRONTEND=noninteractive \
&& . /etc/os-release \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/openmodelica-keyring.gpg]" \
"https://build.openmodelica.org/apt ${VERSION_CODENAME} stable" \
> /etc/apt/sources.list.d/openmodelica.list \
&& apt-get update \
&& apt-get install -qy omc${OMC_VERSION:+=${OMC_VERSION}} \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& omc --version
27 changes: 27 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -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": "bash .devcontainer/install.sh && omc .devcontainer/install.mos && pip install -r requirements.txt"

// Configure tool-specific properties.
// "customizations": {},

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
2 changes: 2 additions & 0 deletions .devcontainer/install.mos
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
updatePackageIndex(); getErrorString();
installPackage(Modelica, version="4.0.0", exactMatch=true); getErrorString();
14 changes: 14 additions & 0 deletions .devcontainer/install.sh
Original file line number Diff line number Diff line change
@@ -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
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.mo linguist-language=Modelica
*.bmo linguist-language=Modelica
*.html.tpl linguist-language=HTML
47 changes: 47 additions & 0 deletions .github/scripts/archiveResults.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/usr/bin/python3

import os
import shutil
import sys

def copyFiles(libraryName, libVersion, branchOM, targetDir):
"""
Zip HTML files and save in target directory.

Arguments
libraryName -- Name of Modelica library.
libVersion -- Branch or version of Modelica library.
branchOM -- Branch or version of OpenModelica.
targetDir -- Target directory.
"""

libNameBranch = f"{libraryName}_{libVersion}"

shutil.copytree("files",
os.path.join(targetDir, branchOM, libNameBranch, "files"),
dirs_exist_ok = True)

shutil.copy2("overview.html",
os.path.join(targetDir, "index.html"))

# Copy library overview
shutil.copy2(f"{libNameBranch}.html",
os.path.join(targetDir, branchOM, libNameBranch, f"{libNameBranch}.html"))

# Copy dygraph script
shutil.copy2(os.path.join(".github", "scripts", "dygraph-combined.js"),
os.path.join(targetDir, branchOM, libNameBranch, "files", "dygraph-combined.js"))

if len(sys.argv) != 5:
raise Exception("Wrong number of input arguments.\nUsage:\narchieveResults.py libraryName libVersion branchOM omLibTestingDir zipFile")

libraryName = sys.argv[1]
libVersion = sys.argv[2]
branchOM = sys.argv[3]
targetDir = sys.argv[4]

# If running inside a pull request
if libVersion.endswith('/merge'):
libVersion = 'dev-pr-' + libVersion.replace('/merge', '')

copyFiles(libraryName, libVersion, branchOM, targetDir)
Loading
Loading