From 60a1673d4683601feb8b49c1612ac0d9d3a2f846 Mon Sep 17 00:00:00 2001 From: Amp Date: Tue, 28 Jul 2026 19:07:19 +0000 Subject: [PATCH] chore: configure Amp orb lifecycle Amp-Thread-ID: https://ampcode.com/threads/T-019faa1d-3dd3-7095-827a-7e61b9309432 --- .agents/resume | 12 +++++++++++ .agents/setup | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100755 .agents/resume create mode 100755 .agents/setup diff --git a/.agents/resume b/.agents/resume new file mode 100755 index 000000000..de1efbf84 --- /dev/null +++ b/.agents/resume @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -euo pipefail + +if pg_isready -q; then + echo "PostgreSQL is ready." + exit 0 +fi + +echo "Starting PostgreSQL..." +sudo service postgresql start >/dev/null +pg_isready -q +echo "PostgreSQL is ready." diff --git a/.agents/setup b/.agents/setup new file mode 100755 index 000000000..4254b6216 --- /dev/null +++ b/.agents/setup @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +set -euo pipefail + +repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +cd "$repo_root" + +echo "==> Installing PostgreSQL when needed" +if ! command -v psql >/dev/null 2>&1; then + sudo apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y postgresql postgresql-client +fi + +echo "==> Starting PostgreSQL" +sudo service postgresql start >/dev/null + +echo "==> Creating the local development database" +if ! sudo -u postgres psql -tAc "SELECT 1 FROM pg_roles WHERE rolname = 'umami'" | grep -q 1; then + sudo -u postgres psql -v ON_ERROR_STOP=1 -c "CREATE ROLE umami LOGIN PASSWORD 'umami'" +else + sudo -u postgres psql -v ON_ERROR_STOP=1 -c "ALTER ROLE umami WITH LOGIN PASSWORD 'umami'" >/dev/null +fi +if ! sudo -u postgres psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'umami'" | grep -q 1; then + sudo -u postgres createdb --owner=umami umami +fi + +echo "==> Configuring the local development environment" +touch .env +if ! grep -Eq '^[[:space:]]*DATABASE_URL=' .env; then + cat >> .env <<'EOF' + +# Local database created by .agents/setup +DATABASE_URL=postgresql://umami:umami@localhost:5432/umami +EOF +fi + +echo "==> Enabling the repository-pinned pnpm" +mkdir -p "$HOME/.local/bin" +corepack enable pnpm --install-directory "$HOME/.local/bin" + +echo "==> Installing JavaScript dependencies" +pnpm install --frozen-lockfile + +echo "==> Generating database clients and applying migrations" +pnpm build-db +pnpm update-db + +echo "==> Building development assets" +pnpm build-tracker +if [ ! -f geo/GeoLite2-City.mmdb ]; then + pnpm build-geo +else + echo "GeoIP database already exists." +fi + +echo "==> Orb setup complete"