Files
omarchy-sc/tests/package-verify.sh
T
jbergner 4a48f9b8c5
Citizen Launcher CI / verify (push) Failing after 1m18s
Citizen Launcher CI / arch-package (push) Failing after 1m19s
Citizen Launcher CI / rpm-package (push) Failing after 1m21s
v1.1.1
2026-09-01 19:50:44 +02:00

60 lines
2.9 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
VERSION="$(tr -d '[:space:]' < "$ROOT/VERSION")"
rm -rf "$ROOT/dist"
mkdir -p "$ROOT/dist"
"$ROOT/packaging/build-deb.sh"
"$ROOT/packaging/build-tarball.sh"
DEB="$ROOT/dist/citizen-launcher_${VERSION}_amd64.deb"
TAR="$ROOT/dist/citizen-launcher-${VERSION}-linux-amd64.tar.gz"
[[ -s "$DEB" && -s "$TAR" ]]
[[ "$(dpkg-deb -f "$DEB" Package)" == "citizen-launcher" ]]
[[ "$(dpkg-deb -f "$DEB" Version)" == "$VERSION" ]]
[[ "$(dpkg-deb -f "$DEB" Architecture)" == "amd64" ]]
TMP="$(mktemp -d)"
trap 'rm -rf "$TMP"' EXIT
dpkg-deb -x "$DEB" "$TMP/root"
[[ "$("$TMP/root/usr/bin/citizen-launcher" --version)" == "$VERSION" ]]
for f in \
usr/lib/systemd/system/citizen-launcher-self-update.service \
usr/lib/systemd/system/citizen-launcher-self-update.timer \
usr/lib/sysctl.d/90-citizen-launcher.conf \
etc/security/limits.d/90-citizen-launcher.conf \
etc/xdg/autostart/citizen-launcher-migrate.desktop \
etc/citizen-launcher/release-repo \
usr/share/applications/io.github.citizenlauncher.CitizenLauncher.desktop \
usr/share/metainfo/io.github.citizenlauncher.CitizenLauncher.metainfo.xml; do
[[ -f "$TMP/root/$f" ]] || { echo "Missing DEB payload: $f" >&2; exit 1; }
done
mkdir -p "$TMP/tar"
tar -xzf "$TAR" -C "$TMP/tar"
[[ "$("$TMP/tar/citizen-launcher" --version)" == "$VERSION" ]]
grep -q '^Exec=/usr/bin/citizen-launcher gui$' "$TMP/root/usr/share/applications/io.github.citizenlauncher.CitizenLauncher.desktop"
grep -q '^ExecStart=/usr/bin/citizen-launcher self-update apply --system --quiet$' "$TMP/root/usr/lib/systemd/system/citizen-launcher-self-update.service"
grep -q 'zstd' <(dpkg-deb -f "$DEB" Depends)
# Packaging definitions for the other native families are validated on every
# host; their actual package builders are executed when their native tools exist
# and in GitHub's Fedora/Arch CI jobs.
bash -n "$ROOT/INSTALLIEREN.sh" "$ROOT/packaging/build-rpm.sh" "$ROOT/packaging/build-arch.sh" "$ROOT/packaging/build-all.sh"
grep -q '^Name:[[:space:]]*citizen-launcher$' "$ROOT/packaging/rpm/citizen-launcher.spec"
grep -q 'citizen-launcher-self-update.timer' "$ROOT/packaging/rpm/citizen-launcher.spec"
grep -q '^pkgname=citizen-launcher$' "$ROOT/packaging/arch/PKGBUILD.in"
grep -q "'x86_64'" "$ROOT/packaging/arch/PKGBUILD.in"
grep -q 'citizen-launcher-self-update.timer' "$ROOT/packaging/arch/PKGBUILD.in"
if command -v rpmbuild >/dev/null 2>&1; then
"$ROOT/packaging/build-rpm.sh"
RPM="$ROOT/dist/citizen-launcher-${VERSION}-1.linux.x86_64.rpm"
[[ -s "$RPM" ]]
rpm -qp --qf '%{NAME}\n%{VERSION}\n%{ARCH}\n' "$RPM" | grep -qx 'citizen-launcher' -m1
fi
if command -v makepkg >/dev/null 2>&1 && [[ $EUID -ne 0 ]]; then
"$ROOT/packaging/build-arch.sh"
[[ -s "$ROOT/dist/citizen-launcher-${VERSION}-1-x86_64.pkg.tar.zst" ]]
fi
echo 'Citizen Launcher package verification: OK'