- Introduce a GitHub Actions matrix for `test-container` and `test-e2e` to run against arch, debian, ubuntu, fedora, and centos - Run unit and integration tests only in the Arch container by passing `distro="arch"` via make in the corresponding workflows - Replace the global DISTROS loop with a single `distro` variable in the Makefile, defaulting to `arch`, and export it for all scripts - Update build scripts (build-image, build-image-no-cache, build-image-missing) to build images for the selected distro only - Simplify test-container script to validate a single distro image using the `distro` environment variable - Simplify E2E, unit, and integration test scripts to run against a single distro container instead of iterating over all distros https://chatgpt.com/share/693acbba-9e30-800f-94fb-fea4489e9078
30 lines
822 B
Bash
Executable File
30 lines
822 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
IMAGE="package-manager-test-$distro"
|
|
|
|
echo
|
|
echo "------------------------------------------------------------"
|
|
echo ">>> Testing container: $IMAGE"
|
|
echo "------------------------------------------------------------"
|
|
|
|
echo "[test-container] Running: docker run --rm --entrypoint pkgmgr $IMAGE --help"
|
|
echo
|
|
|
|
# Run the command and capture the output
|
|
if OUTPUT=$(docker run --rm \
|
|
-e PKGMGR_DEV=1 \
|
|
-v pkgmgr_nix_store_${distro}:/nix \
|
|
-v "$(pwd):/src" \
|
|
-v "pkgmgr_nix_cache_${distro}:/root/.cache/nix" \
|
|
"$IMAGE" 2>&1); then
|
|
echo "$OUTPUT"
|
|
echo
|
|
echo "[test-container] SUCCESS: $IMAGE responded to 'pkgmgr --help'"
|
|
|
|
else
|
|
echo "$OUTPUT"
|
|
echo
|
|
echo "[test-container] ERROR: $IMAGE failed to run 'pkgmgr --help'"
|
|
exit 1
|
|
fi |