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

xapi-project / xen-api / 42356554120
79%

Build:
DEFAULT BRANCH: master
Ran 07 Nov 2026 08:42AM UTC
Jobs 1
Files 36
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

04 Nov 2026 03:39PM UTC coverage: 78.996%. Remained the same
42356554120

push

github

web-flow
XCPNG-3989: Commit message list upstream (#7361)

This is a proof-of-concept of catching various breaking changes to
XenAPI. This is quite a niche safety net as it captures 2 cases that
aren't captured by the building of Xapi:

- Permuting parameter order: if you swap the order of parameters (within
the required prefix or optional suffix - enforced by another check),
this will silently break every client. The corresponding code can remain
unchanged because the generated dispatcher invokes the API using
labelled arguments (can be applied in any order).
- Changing a defaulted parameter's value: rare, but this is now detected
and must be explicitly noted.

Other larger changes will have to be confronted when you attempt to
build the rest of Xapi. However, committing the message list upstream
has some idealistic benefits: (1) there's enough information in the
generated message listing to produce a typed XenAPI client (this is the
approach taken in my [xapy](https://github.com/contificate/xapy)
project, which uses the documentation's `xenapi.json` file), (2) by
committing messages upstream, it forces the repository state and commits
to be obvious about what messages have been changed (along with the
possibility, in future, of easily seeing what messages are present
between version tags, as they'll be noted upstream).

---

This work was inspired by 0416e2ae8 (which I came across when
generalising optional arguments to permit omission anywhere). This PR
subsumes this check and also captures the part that was lacking: new
parameters are now detected by comparison against the committed message
list (snapshot), so it'll fail the build if you don't promote it (and
accept it as a breaking change to the API). Of course, doing such a
change requires changing the implementation code, but this makes PR
makes it obvious to the developer that they should provide defaults for
any new arguments they're appending to extant messages.

---

As an example of how this works:... (continued)

3667 of 4642 relevant lines covered (79.0%)

0.79 hits per line

Jobs
ID Job ID Ran Files Coverage
1 python3.11 - 42356554120.1 07 Nov 2026 08:42AM UTC 36
79.0
GitHub Action Run
Source Files on build 42356554120
  • Tree
  • List 36
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #42356554120
  • 7b238795 on github
  • Prev Build on gh-readonly-queue/master/pr-7354-caf4d43bb6a53cf3887c522c3ee5ea07d4c966b7 (#41581695573)
  • Next Build on master (#42595378736)
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