Some checks failed
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Refactor CI to clearly separate virtualenv-based container tests from pure Nix flake tests across all distros (arch, debian, ubuntu, fedora, centos). Introduce dedicated test-env-nix workflow and Makefile targets, rename former container tests to test-env-virtual, and update stable pipeline dependencies. Improve Nix reliability in containers by fixing installer permissions and explicitly validating nix availability and version during image build and tests.
49 lines
1.4 KiB
Bash
49 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
IMAGE="package-manager-test-${distro}"
|
|
|
|
echo "============================================================"
|
|
echo ">>> Running Nix flake-only test in ${distro} container"
|
|
echo ">>> Image: ${IMAGE}"
|
|
echo "============================================================"
|
|
|
|
docker run --rm \
|
|
-v "$(pwd):/src" \
|
|
-v "pkgmgr_nix_store_${distro}:/nix" \
|
|
-v "pkgmgr_nix_cache_${distro}:/root/.cache/nix" \
|
|
--workdir /src \
|
|
-e PKGMGR_DEV=0 \
|
|
"${IMAGE}" \
|
|
bash -lc '
|
|
set -euo pipefail
|
|
|
|
if command -v git >/dev/null 2>&1; then
|
|
git config --global --add safe.directory /src || true
|
|
git config --global --add safe.directory /src/.git || true
|
|
git config --global --add safe.directory "*" || true
|
|
fi
|
|
|
|
echo ">>> preflight: nix must exist in image"
|
|
if ! command -v nix >/dev/null 2>&1; then
|
|
echo "NO_NIX"
|
|
echo "ERROR: nix not found in image '\'''"${IMAGE}"''\'' (distro='"${distro}"')"
|
|
echo "HINT: Ensure Nix is installed during image build for this distro."
|
|
exit 1
|
|
fi
|
|
|
|
echo ">>> nix version"
|
|
nix --version
|
|
|
|
echo ">>> nix flake show"
|
|
nix flake show . --no-write-lock-file >/dev/null
|
|
|
|
echo ">>> nix build .#default"
|
|
nix build .#default --no-link --no-write-lock-file
|
|
|
|
echo ">>> nix run .#pkgmgr -- --help"
|
|
nix run .#pkgmgr -- --help --no-write-lock-file
|
|
|
|
echo ">>> OK: Nix flake-only test succeeded."
|
|
'
|