Enhance qsv installation process in workflow
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