• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openego / eDisGo / 30375538392
84%

Build:
DEFAULT BRANCH: dev
Ran 28 Jul 2026 05:23PM UTC
Jobs 1
Files 68
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Jul 2026 03:42PM UTC coverage: 83.664% (-0.2%) from 83.819%
30375538392

push

github

joda9
fix(build): ship the Julia OPF sources in sdist and wheel

edisgo/opf/eDisGo_OPF.jl was missing from every built artifact, so
pm_optimize() could never work in a non-editable installation. It fails at
powermodels_opf.py:415, which launches julia with an absolute path derived
from __file__ -- fine in a source checkout, a missing file in site-packages.
This has been broken since at least v0.2.1, so the OPF has never run from a
released eDisGo. It matters now because eGo pulls eDisGo as
"edisgo @ git+https://github.com/openego/eDisGo.git@dev", which pip builds
into a real wheel.

package_data patterns are resolved relative to the package they are listed
under, and edisgo/opf is a package of its own (unlike edisgo/config,
edisgo/equipment and edisgo/run/presets, which are plain data directories
inside the edisgo package). The Julia tree therefore needs its own
"edisgo.opf" key; it was unreachable from the existing "edisgo" entry.

Nobody noticed because everything installs editable during development and
the test workflow installs from the checkout, never from a built artifact. So
add a Packaging workflow that builds both artifacts and checks them:

- .github/scripts/check_packaged_data.py asserts that the Julia sources, the
  config files, the equipment tables and the run presets are all present in
  the wheel and the sdist. Runnable locally before a release. It also warns
  about the egg-info trap: a stale SOURCES.txt keeps packing files from
  earlier builds, which makes a broken sdist look complete.
- the workflow additionally installs the wheel into a fresh venv and resolves
  Main.jl the way powermodels_opf.py does at runtime, asserting the directory
  is writable too, since Main.jl runs Pkg.instantiate() in place.

Verified: without the package_data key the check fails on both artifacts
(0 of 16 Julia files); with it the wheel and sdist carry all 16, and the
installed layout resolves Main.jl.

9444 of 11288 relevant lines covered (83.66%)

0.84 hits per line

Coverage Regressions

Lines Coverage ∆ File
132
78.41
-0.07% edisgo/edisgo.py
48
85.52
4.61% edisgo/tools/tools.py
40
79.83
-1.39% edisgo/tools/config.py
31
92.16
-1.27% edisgo/io/powermodels_io.py
28
55.43
4.89% edisgo/opf/results/opf_result_class.py
27
78.95
27.88% edisgo/io/db.py
26
93.32
-1.01% edisgo/tools/spatial_complexity_reduction.py
20
86.07
1.63% edisgo/tools/temporal_complexity_reduction.py
18
93.04
0.02% edisgo/network/electromobility.py
7
94.93
2.43% edisgo/opf/powermodels_opf.py
5
95.65
0.12% edisgo/network/overlying_grid.py
1
94.23
0.04% edisgo/io/heat_pump_import.py
Jobs
ID Job ID Ran Files Coverage
1 30375538392.1 28 Jul 2026 05:23PM UTC 68
83.66
GitHub Action Run
Source Files on build 30375538392
  • Tree
  • List 68
  • Changed 14
  • Source Changed 0
  • Coverage Changed 14
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • de03097b on github
  • Prev Build on dev (#28930710676)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc