datapusher-plus icon indicating copy to clipboard operation
datapusher-plus copied to clipboard

Enhance qsv installation process in workflow

Open a5dur opened this issue 2 months ago • 0 comments

Added installation steps for qsv with error handling and fallback to musl version.

The GitHub Actions workflow runs inside the ckan/ckan-dev:2.11 Docker container, which is based on Debian 12 (Bookworm). This environment has: GLIBC version 2.36 (system C library)

However, the latest qsv 9.1.0 GNU binary was compiled against: GLIBC version 2.39 (requirement)

This version mismatch causes the GNU binary to fail with /usr/local/bin/qsvdp: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.39' not found

This PR tries to install the GNU version of qsv, if GNU version fails due to GLIBC mismatch, automatically download and install the musl version

@jqnatividad , discontinuing the musl version for next qsv releases won't be a good idea

Future-proofing: When CKAN eventually updates their container base image to a newer Debian/Ubuntu version with GLIBC 2.39+, the workflow will automatically use the GNU version without code changes

Testing

Tested in Debian 12 container (GLIBC 2.36) - correctly falls back to musl Tested in Ubuntu 24.04 environment (GLIBC 2.39) - successfully uses GNU version See Run Both versions pass all DataPusher+ qsv integration tests

Changes Made

Updated qsv version from 7.1.0 to 9.1.0

  • Added GLIBC compatibility detection
  • automatic fallback mechanism
  • Added detailed logging for debugging

a5dur avatar Nov 10 '25 10:11 a5dur