For quick testing, an x86_64 static build from the current HEAD is available here.
The nvme-cli project provides prebuilt CI containers that allow you to locally reproduce GitHub Actions builds for debugging and development. These containers mirror the environments used in the official CI workflows.
CI Containers Repository: linux-nvme/ci-containers
CI Build Workflow Reference: libnvme-build.yml
All CI containers are published as OCI/Docker images.
Example: Debian latest CI image:
docker pull ghcr.io/linux-nvme/debian:latestOr with Podman:
podman pull ghcr.io/linux-nvme/debian:latestStart an interactive shell inside the container:
docker run --rm -it \
--name nvme-cli-debug \
ghcr.io/linux-nvme/debian:latest \
bashOr with Podman:
podman run --rm -it \
--name nvme-cli-debug \
ghcr.io/linux-nvme/debian:latest \
bashYou are now logged into the same environment used by CI.
Inside the running container:
git clone https://github.com/linux-nvme/nvme-cli.git
cd nvme-cli(Optional) Check out a specific branch or pull request:
git checkout <branch-or-commit>The GitHub Actions workflow uses scripts/build.sh. To reproduce the CI build locally:
./scripts/build.shBuild artifacts remain inside the container unless a host volume is mounted.
The CI supports cross compilation using a dedicated cross-build container.
docker pull ghcr.io/linux-nvme/ubuntu-cross-s390x:latestOr with Podman:
podman pull ghcr.io/linux-nvme/ubuntu-cross-s390x:latestdocker run --rm -it \
--name nvme-cli-cross \
ghcr.io/linux-nvme/ubuntu-cross-s390x:latest \
bashOr with Podman:
podman run --rm -it \
--name nvme-cli-cross \
ghcr.io/linux-nvme/ubuntu-cross-s390x:latest \
bashgit clone https://github.com/linux-nvme/nvme-cli.git
cd nvme-cliExample: Cross-build for s390x:
./scripts/build.sh -b release -c gcc -t s390x crossThe exact supported targets depend on the toolchains installed in the container.