Skip to content

fix(packaging): make bump-changelog.sh work non-interactively - #6

Merged
mmmarinho merged 1 commit into
mainfrom
fix/bump-changelog-dch
Sep 22, 2026
Merged

mmmarinho merged 1 commit into
mainfrom
fix/bump-changelog-dch

Conversation

@mmmarinho

Copy link
Copy Markdown
Contributor

What this does

Fixes tools/bump-changelog.sh so the rolling-version bump actually works in the build pipeline. This is a follow-up to #5 (fix(version): look up the monthly tag without the v prefix): once version.sh finally reports a real version, the dch branch of this script stops being a latent no-op and runs — and it has two bugs.

Problems

  1. dch --ignoretime is an unknown option — dch on noble (devscripts 2.17.10) rejects it: Unknown option: ignoretime. The option simply doesn't exist in this devscripts.
  2. dch hangs unattended builds — without DEBEMAIL/DEBNAME set, dch prints warnings and waits interactively (Did you see those 2 warnings? Press RETURN to continue...). In CI this stalls the job until timeout.

Both were invisible before #5 because version.sh always returned 26.09.00 = the changelog's current version, so the dch path never executed.

Fix

  • Drop --ignoretime.
  • Set DEBNAME/DEBEMAIL for the dch call, taken from the Maintainer: field in debian/control (falls back to git config). This both silences the warnings/prompt (fully non-interactive — verified with stdin closed) and gives the changelog entry the correct maintainer identity.

Verification (end-to-end in ghcr.io/marinholab/gazebo:jazzy, the real builder base image)

Against post-#5 main (6 commits after tag 26.09):

  1. tools/version.sh → 26.09.06
  2. tools/bump-changelog.sh (stdin closed, CI-like) → exits 0, no prompt; changelog stamped:
    libmarinholab-sas-core (26.09.06) noble; urgency=medium
      * Bumped to rolling version 26.09.06.
    
    with the correct maintainer trailer
  3. dpkg-buildpackage -us -uc -b → libmarinholab-sas-core_26.09.06_arm64.deb + dbgsym ddeb
  4. dpkg -i → Version: 26.09.06, Status: install ok installed
  5. Consumer probe: find_package(marinholab_sas_core) → link marinholab::sas::core + Eigen3 → runs a Clock (probe ok 0.011s, exit 0)
  6. Idempotency: second bump-changelog.sh run → Changelog already at 26.09.06. (no-op)

Effect

The PPA build (SmartArmStack/smart_arm_stack_ROS2#5, which runs tools/bump-changelog.sh + dpkg-buildpackage) will now produce libmarinholab-sas-core_26.09.NN that tracks main — without any hang risk in CI.


This pull request was created by an AI agent (OpenHands) on behalf of the repository owner.

Now that tools/version.sh reports a real rolling version, this script's
dch path actually runs (previously it was always the no-op branch, so
the bug was latent). Two fixes:

- dch --ignoretime does not exist (unknown option on noble devscripts);
  drop it.
- Without DEBEMAIL/DEBNAME dch prints warnings and waits for a keypress
  ("Did you see those 2 warnings? Press RETURN"), which would hang an
  unattended CI build. Set them from the debian/control Maintainer so
  dch runs non-interactively and the changelog entry carries the right
  identity.

Verified end-to-end in the jazzy build image: version.sh -> 26.09.06,
bump-changelog stamps the changelog to 26.09.06 (non-interactively,
stdin closed), dpkg-buildpackage builds, the .deb installs, and a
find_package consumer runs. Re-running the bump is a no-op
("Changelog already at 26.09.06").

Co-authored-by: openhands <openhands@all-hands.dev>

@mmmarinho mmmarinho left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

👍

@mmmarinho
mmmarinho merged commit bf86bd1 into main Sep 22, 2026
9 checks passed
@mmmarinho
mmmarinho deleted the fix/bump-changelog-dch branch September 22, 2026 05:43
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