Bug: Qlty CLI not working on Arm-based Ubuntu 22
What happened?
Issue:
Warning: Error uploading coverage. Output from the Qlty CLI follows: Warning: /opt/actions-runner/_work/_tool/qlty/latest/arm64/qlty-aarch64-unknown-linux-gnu/qlty: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.38' not found (required by /opt/actions-runner/_work/_tool/qlty/latest/arm64/qlty-aarch64-unknown-linux-gnu/qlty)`
During the upload to Qlty Cloud by: qltysh/qlty-action/coverage@v1
What did you expect to happen?
It should work on Linux Arm runners
Can you reproduce the problem?
Yes, consistently
CLI Version
0.540.0
Relevant log output
Workflow:
- name: Install Qlty Cloud
uses: qltysh/qlty-action/install@v1
- name: Upload coverage to Qlty Cloud
uses: qltysh/qlty-action/coverage@v1
with:
token: ${{ secrets.QLTY_COVERAGE_TOKEN }}
files: coverage.out
Not replicable on x86 Ubuntu 22.
I have done some digging yesterday. It seems we have requirement inconsistency between x86 and Arm-based binaries. x86 works fine with Ubuntu 22 (which has libc v2.35 -- for both arch), but on Arm-based it requires a higher libc version (v2.38+), which suggests you are building Arm-based binaries on Ubuntu 24 or something similar.
I'm also running into this issue on an Amazon Linux build environment. No issues running on an x86 environment, but running on the aarch64 environment causes it to fail with this same issue.
Thanks for this report! I am looking into this.
Currently, our release pipeline is a bit messy for the CLI, which is something we intend to simplify soon. (Today, the CLI releases are run in a different, private GitHub Repository but we are going to be moving them to happen in this repository.)
Here is what I am able to find so far... When we compile for Linux + ARM we use the custom runner ubuntu-2204-32-cores-arm64:
https://github.com/qltysh/qlty/blob/9753e3b96abc221964d984bacf3c6db7230f0063/Cargo.toml#L180
This ubuntu-2204-32-cores-arm64 name corresponds to this GitHub-hosted runner:
This appears to be the problem. While the runner name says "ubuntu-2204" it is actually mapped to Ubuntu 24.04. I am going to try and clean this up now.
Update: We are now attempting to compile on Ubuntu 22.04 which is failing so this will require some additional work: https://github.com/qltysh/cloud/actions/runs/15800393509/job/44537840999
Hi @brynary, it seems to be a problem with your runner somehow. Can you try to add a new Arm provided Self-hosted-runners again? (Maybe deleting the wrong one first) I just tested it, Ubuntu 22 label got an actual Ubuntu 22 machine.
@spcaipers-arm can you try this again? We've made updates to our release process and should be building on the correct runners. This is what happens for me:
▶ docker run -it ubuntu:22.04 bash
root@92cc59dae5f1:/# apt update && apt install -y xz-utils curl
...
root@92cc59dae5f1:/# curl https://qlty.sh/ | bash
...
qlty was installed successfully to ~/.qlty/bin/qlty
...
root@92cc59dae5f1:/# ~/.qlty/bin/qlty version
qlty 0.555.0 linux-arm64 (a9306cb 2025-07-10)
root@92cc59dae5f1:/# uname -a
Linux 92cc59dae5f1 6.10.14-linuxkit #1 SMP Fri Nov 29 17:22:03 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux