Skip to content

ci: install librsvg2-bin and imagemagick for test each commit#328

Open
kwsantiago wants to merge 1 commit into
bitcoinknots:29.x-knotsfrom
privkeyio:ci-test-each-commit-gui-deps
Open

ci: install librsvg2-bin and imagemagick for test each commit#328
kwsantiago wants to merge 1 commit into
bitcoinknots:29.x-knotsfrom
privkeyio:ci-test-each-commit-gui-deps

Conversation

@kwsantiago

Copy link
Copy Markdown

The test each commit job configures with -DBUILD_GUI=ON, but does not install the icon-rendering tools that BUILD_GUI requires, so CMake aborts during configure:

CMake Error at CMakeLists.txt:722 (find_program):
  Could not find RSVG_CONVERT using the following names: rsvg-convert

CMakeLists.txt requires both tools when building the GUI on non-Darwin:

if(BUILD_GUI)
  find_program(RSVG_CONVERT rsvg-convert REQUIRED)
  ...
  else()
    find_program(IMAGEMAGICK_CONVERT NAMES magick convert REQUIRED)

test each commit is the only job missing them. Every other CI path already installs them: ci/test/00_setup_env.sh, ci/test/00_setup_env_mac_cross.sh, ci/test/00_setup_env_native_centos.sh, and the macOS brew install ... librsvg step in this same workflow.

The job runs only on pull requests with more than one commit, which is why it does not fail on every PR.

Example failure: https://github.com/bitcoinknots/bitcoin/actions/runs/28277646974/job/85830663679

Verification

In a clean ubuntu:24.04 container, installing the job's current package list leaves all three binaries absent:

rsvg-convert   MISSING
magick         MISSING
convert        MISSING

Running the job's exact cmake configure line then reproduces the CI error verbatim:

CMake Error at CMakeLists.txt:722 (find_program):
  Could not find RSVG_CONVERT using the following names: rsvg-convert

After adding librsvg2-bin and imagemagick, rsvg-convert and convert resolve, and the same configure completes:

-- Configuring done (16.6s)
-- Generating done (0.1s)

imagemagick is included because find_program(IMAGEMAGICK_CONVERT NAMES magick convert REQUIRED) is reached immediately after the rsvg-convert check, and it is likewise absent both from the job's package list and from the ubuntu-24.04 runner image's apt manifest.

Refs #327.

@pdath

pdath commented Jul 10, 2026

Copy link
Copy Markdown

ACK c198e9b

I reviewed the change to ci.yml and found it contained exactly what was required to resolve the issue.
I reviewed the CI tests and verified that the fix to ci.yml resolved the issue.

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.

3 participants