A layered image editor for Linux and Omarchy, ported from Compositor (github.com/robbietilton/Compositor), whose Swift source is its specification. It reads and writes Compositor's .comp projects. Packages for Ubuntu, Fedora and Arch come from the release workflow; scripts/install/ holds one install script per distribution family, and flake.nix serves NixOS. Co-Authored-By: Claude <noreply@anthropic.com>
19 lines
1.0 KiB
Bash
Executable File
19 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Builds and tests the app in one distribution's own container.
|
|
set -euo pipefail
|
|
distro=${1:?"usage: distro-check.sh arch|fedora|nixos"}
|
|
here=$(cd "$(dirname "$0")" && pwd)
|
|
repo=$(cd "$here/.." && pwd)
|
|
docker build -t "omaphoto-$distro" "$here/distro/$distro"
|
|
steps="cmake -S . -B /tmp/build -G Ninja -DOMAPHOTO_WERROR=ON && cmake --build /tmp/build && ctest --test-dir /tmp/build --output-on-failure --timeout 120"
|
|
# Not root, as dev.sh: tests refuse what root may do.
|
|
user=1000:1000
|
|
# Nix writes its store as root; the tests drop it.
|
|
if [ "$distro" = nixos ]; then
|
|
steps="HOME=/root nix build path:/src --no-link && HOME=/root nix develop path:/src --command chroot --userspec=1000:1000 --skip-chdir / env HOME=/scratch TMPDIR=/scratch sh -c '$steps'"
|
|
user=0:0
|
|
fi
|
|
# The tree read-only; home and temporary files in RAM.
|
|
docker run --rm -u "$user" -e QT_QPA_PLATFORM=offscreen -e HOME=/scratch -e TMPDIR=/scratch --tmpfs /scratch:rw,exec,size=4g \
|
|
-v "$repo:/src:ro" -w /src "omaphoto-$distro" sh -c "$steps"
|