Skip to content

treewide: add test-version.sh for packages which cannot pass the generic version check - #1196

Merged
BKPepe merged 8 commits into
openwrt:masterfrom
BKPepe:add-test-version-scripts
Aug 10, 2026
Merged

treewide: add test-version.sh for packages which cannot pass the generic version check#1196
BKPepe merged 8 commits into
openwrt:masterfrom
BKPepe:add-test-version-scripts

Conversation

@BKPepe

@BKPepe BKPepe commented Aug 6, 2026

Copy link
Copy Markdown
Member

The generic version check of the CI runtime tests requires at least one executable of a package to report PKG_VERSION. These packages can never pass it:

  • ahcpd – provides no version option at all; check that the binary prints its usage instead.
  • babel-pinger – provides no version option; skip the check.
  • naywatch – watchdog shell script with no version option. The override also prevents the generic check from executing the script with probe flags, which must never happen for a script that may trigger a reboot of the test environment.
  • ohybridproxy, pimbd – version is derived from PKG_SOURCE_DATE + git hash, which the binaries do not report; skip the check.
  • prince – requires a configuration file and provides no version option; skip the check.

With these in place, any future PR touching these packages gets a green runtime test instead of a guaranteed failure.

BKPepe and others added 6 commits August 6, 2026 09:53
ahcpd does not provide any option to report its version, so the
generic version check of the CI runtime tests always fails for this
package. Override it by checking that the binary starts and prints
its usage instead.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
babel-pinger does not provide any option to report its version, so
the generic version check of the CI runtime tests always fails for
this package. Skip the version check.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
naywatch is a watchdog shell script which does not provide any
option to report its version, so the generic version check of the CI
runtime tests fails for this package. On top of that, the generic
check executes each installed executable with several flags to probe
for the version, which must never happen for a watchdog script that
may trigger a reboot of the test environment.

Providing a test-version.sh both skips the version probing of the
binary and overrides the version check.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
The package version is derived from PKG_SOURCE_DATE and the git
hash, which neither ohybridproxy nor zonestitcher report, so the
generic version check of the CI runtime tests always fails for these
packages. Skip the version check.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
The package version is derived from PKG_SOURCE_DATE and the git
hash, which the binary does not report, so the generic version check
of the CI runtime tests always fails for this package. Skip the
version check.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
prince requires a configuration file and does not provide any option
to report its version, so the generic version check of the CI
runtime tests always fails for this package. Skip the version check.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 6, 2026 07:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

The patch carried the raw `git format-patch` output including the
"diff --git"/"index" lines and the trailing git version signature,
which the refresh check of the CI strips, so any PR touching this
package failed with:

    Dirty patches detected, please refresh and review the diff

Normalize the patch to the refreshed form. No content change.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@BKPepe
BKPepe force-pushed the add-test-version-scripts branch from f6e5daa to fbd3f44 Compare August 6, 2026 10:14
The comment claimed the version check has to be skipped because
running the script may trigger a reboot. That is not what happens:
reboot_now() is only reached once naywatch has seen a neighbour
(ACTIVE=1) and then lost it for more than MIN_KICK intervals, and
the watchdog branch is not taken either, because the probe leaves
use_watchdog empty.

What does happen is that naywatch takes positional arguments - check
interval, watchdog timeout, and so on - rather than options, so a
probe flag ends up as the check interval and the script enters its
monitoring loop instead of reporting anything, until the probe
timeout kills it.

The override stays, only its justification is corrected.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@BKPepe
BKPepe merged commit 2fe4311 into openwrt:master Aug 10, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants