mirror of
https://codeberg.org/Toasterson/solstice-ci.git
synced 2026-04-10 21:30:41 +00:00
This commit introduces: - A production-ready Podman Compose stack using Traefik as a reverse proxy with Let's Encrypt integration. - Per-environment logical separation for Postgres, RabbitMQ, and MinIO services. - New deployment utilities, including a `.env.sample` template, `compose.yml`, and setup scripts for MinIO and Postgres. - Updates to `github-integration` HTTP server with basic webhook handling using `axum` and configurable paths. - Adjustments to packaging tasks for better tarball generation via `git archive`. - Expanded dependencies for `PKGBUILD` to support SQLite and PostgreSQL libraries. - Containerfiles for orchestrator and integration services to enable Rust multi-stage builds without sccache. This enables simplified and secure CI deployments with automatic routing, TLS, and volume persistence.
26 lines
985 B
Bash
Executable file
26 lines
985 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
# Build Arch packages for Solstice CI components.
|
|
# Requires: Arch Linux with base-devel, rust, cargo, makepkg.
|
|
# Outputs: pkg files under packaging/arch/*/*.pkg.tar.*
|
|
|
|
ROOT_DIR=$(cd "$(dirname "$0")/../../../" && pwd)
|
|
cd "$ROOT_DIR"
|
|
|
|
# Create a clean source tarball of the repository
|
|
TARBALL="solstice-ci.tar.gz"
|
|
TMPDIR=$(mktemp -d)
|
|
trap 'rm -rf "$TMPDIR"' EXIT
|
|
|
|
# Create a tarball with a top-level solstice-ci/ prefix so PKGBUILDs can `cd "$srcdir/solstice-ci"`
|
|
# Use git archive to ensure only tracked files are included and the prefix is present.
|
|
git archive --format=tar.gz --prefix=solstice-ci/ -o "$TMPDIR/$TARBALL" HEAD
|
|
|
|
for pkg in solstice-orchestrator solstice-forge-integration; do
|
|
PKG_DIR="$ROOT_DIR/packaging/arch/$pkg"
|
|
mkdir -p "$PKG_DIR"
|
|
cp "$TMPDIR/$TARBALL" "$PKG_DIR/$TARBALL"
|
|
( cd "$PKG_DIR" && makepkg -fC --noconfirm )
|
|
echo "Built package(s) in $PKG_DIR:" >&2
|
|
ls -1 "$PKG_DIR"/*.pkg.tar.* 2>/dev/null || true
|
|
done
|