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

xapi-project / xen-api / 39389040605
79%
master: 79%

Build:
Build:
LAST BUILD BRANCH: CP-314178-gpu-partition-helper-read-modes
DEFAULT BRANCH: master
Ran 20 Oct 2026 07:50AM 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

20 Oct 2026 07:48AM UTC coverage: 78.996%. Remained the same
39389040605

push

github

web-flow
Ensure programs that link Xapi_version honor the configured version (#7319)

## The problem

```shell
./configure --xapi_version=v1912.6.23 # Turing's birth date
make
make install DESTDIR=/tmp/xapi
/tmp/xapi/usr/sbin/xenopsd-xc --version
```

When `git describe` finds a tag, the last command prints its output
instead of the configured version:

```
26.20.0-29-g0af2b37-dirty
```

When it finds none, `git describe` returns a bare commit hash.
`Xapi_version.parse_xapi_version` cannot parse it, and since this
function is called when the `Xapi_version` module is initialised,
xenopsd-xc aborts at startup, whatever its arguments:

```
Fatal error: exception Failure("Couldn't determine xapi version from string: '0af2b37-dirty'")
```

This happened in XCP-ng builds, for instance:
https://github.com/xcp-ng-rpms/xapi/pull/145

Eight other programs take their version from `git describe` in the same
way, among them xcp-networkd, xcp-rrdd and squeezed. More generally, of
the 19 installed programs that link `Xapi_version`, the module that
holds the configured version, only one reports `1912.6.23` when invoked
with `--version`.

## Its causes

There are three causes, and they overlap: one cause can hide another. A
program that aborts at startup because it gets its version from `git
describe` (1) never gets a chance to show that it has no `--version`
option (2), or that it reports a hard-coded version (3). Once they get
the configured version instead, squeezed, varstored-guard and
pvs-proxy-ovs-setup turn out to have no `--version` option (2), and
sm-cli turns out to report a hard-coded version (3).

1. dune-build-info chooses the version it writes into a program as
follows:
- if the program belongs to a package that has a version, it writes that
version, which here is the configured one;
- otherwise, it writes the output of `git describe` when the program is
installed, ignoring the version of the project.

The nine programs mentioned above belong to no package: they ... (continued)

3667 of 4642 relevant lines covered (79.0%)

0.79 hits per line

Jobs
ID Job ID Ran Files Coverage
1 python3.11 - 39389040605.1 20 Oct 2026 07:50AM UTC 36
79.0
GitHub Action Run
Source Files on build 39389040605
  • 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 #39389040605
  • 3dde613a on github
  • Prev Build on gh-readonly-queue/master/pr-7327-4f62d6814d612c5d1d2727e0bd1dab80b12910a0 (#39223999124)
  • Next Build on gh-readonly-queue/master/pr-7319-5c4eb72f71206e08f00f0a93b27d60803063b422 (#39389040523)
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