Files
Das-OS/scripts/builder.sh
T
dasandClaude Opus 5.5 125f9027c4
build / build (push) Successful in 45m41s
Stage 9: CI build on a self-hosted Gitea runner (0.7.0)
- .gitea/workflows/build.yml builds the packages and both ISOs with
  `make iso iso-server` on pushes to main and dev, v* tags and on demand
- ci/runner: setup of the CI host (WSL2 Ubuntu 24.04 with Docker Engine
  and gitea-runner as a systemd service, autostart task for Windows)
- scripts/builder.sh: DASOS_OUT keeps out/ outside the checkout, so CI
  reuses void-packages, the masterdir and the download cache
- README and TODO updated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 12:27:00 +03:00

22 lines
748 B
Bash
Executable File

#!/usr/bin/env bash
# Runs a command inside the Void Linux builder container.
# The project is mounted at /work; downloaded packages are cached in out/cache/xbps.
# DASOS_OUT puts out/ elsewhere (CI keeps it between checkouts).
set -euo pipefail
root=$(cd "$(dirname "$0")/.." && pwd)
out=${DASOS_OUT:-$root/out}
image=dasos-builder
docker build --quiet --tag "$image" "$root/docker/builder" >/dev/null
mkdir -p "$out/cache/xbps"
# --privileged: mklive mounts /proc, /sys, /dev and a loop device for the root image
exec docker run --rm --privileged \
--volume "$root:/work" \
${DASOS_OUT:+--volume "$out:/work/out"} \
--volume "$out/cache/xbps:/var/cache/xbps" \
--env HOST_UID="$(id -u)" \
--env HOST_GID="$(id -g)" \
"$image" "$@"