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

FlexMeasures / flexmeasures / 36196790197
86%

Build:
DEFAULT BRANCH: main
Ran 25 Sep 2026 10:41PM UTC
Jobs 1
Files 188
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

25 Sep 2026 10:27PM UTC coverage: 86.081% (+0.03%) from 86.051%
36196790197

push

github

web-flow
Support plugin-defined automations (#2553)

* Support plugin-defined automations

* Add changelog entry for plugin automations

* Use kebab-case in mock automation schema

* Refuse what a plugin automation cannot honour, and say so before a run does

A plugin type decides for itself when its runs compute, so the automation window options went nowhere: --start-offset and --end-offset were dropped without a word, while --duration was reported as a forecast-specific option, which the command declares for every type.
All three are now refused for a plugin type, naming the ones given.

A source of another version of the plugin was accepted at creation and then refused on every run it ever had; it is refused at creation now, where the version is read once for both.
A source whose data generator this server cannot set up ends in a refusal rather than a traceback, and a source belonging to another type says so before its configuration is read as this type's.
Naming the forecaster's data generator for a plugin type is refused like any other, as such a type determines its own.

An automation whose sensors cannot be worked out, or whose creator may no longer read them, reaches the API as a 422 and the CLI as an error, where AutomationSensorsUnknown and Forbidden escaped both.

A plugin run is dispatched with the parameters its run was planned with, and the handler says what it does not record.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0129WrXeJ5gia2pctFH93BqC
Signed-off-by: F.N. Claessen <claessen@seita.nl>

* Break the plugin automations' docstrings and comments after punctuation

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0129WrXeJ5gia2pctFH93BqC
Signed-off-by: F.N. Claessen <claessen@seita.nl>

* Give the automations page a tab for every type it can come to list

The tabs were built from the automations of the assets the page is listing right ... (continued)

244 of 276 new or added lines in 12 files covered. (88.41%)

3 existing lines in 2 files now uncovered.

20526 of 23845 relevant lines covered (86.08%)

0.86 hits per line

Uncovered Changes

Lines Coverage ∆ File
20
89.07
flexmeasures/data/automations.py
5
79.15
-0.09% flexmeasures/cli/data_add.py
3
93.9
-0.11% flexmeasures/data/services/automations.py
2
82.7
0.54% flexmeasures/cli/data_show.py
1
46.99
0.15% flexmeasures/cli/jobs.py
1
93.9
1.22% flexmeasures/data/schemas/automations.py

Coverage Regressions

Lines Coverage ∆ File
2
89.19
0.39% flexmeasures/data/models/data_sources.py
1
91.57
-0.08% flexmeasures/data/models/planning/storage.py
Jobs
ID Job ID Ran Files Coverage
1 36196790197.1 25 Sep 2026 10:41PM UTC 188
86.08
GitHub Action Run
Source Files on build 36196790197
  • Tree
  • List 188
  • Changed 12
  • Source Changed 11
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36196790197
  • 3a2f5d11 on github
  • Prev Build on main (#36192278468)
  • Next Build on main (#36227954503)
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