#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # shellcheck source=lib.sh . "${SCRIPT_DIR}/lib.sh" # shellcheck source=repo-status.sh . "${SCRIPT_DIR}/repo-status.sh" qipai_release_manifest_json() { local repo_dir="$1" local release_id="$2" local deployed="$3" cat <"$manifest" ln -sfn "$release_dir" "${APP_ROOT}/current-release" cp "$manifest" "$(qipai_current_release_file)" qipai_pass "release manifest written: $manifest" qipai_warn "business build is a safe M00 dry run until backend/admin projects exist" } qipai_deploy_business_dry_run() { local repo_dir release_id repo_dir="${1:-$(pwd)}" if [ ! -d "${repo_dir}/.git" ]; then qipai_fail "repository not found: ${repo_dir}" return 1 fi release_id="DRYRUN-$(git -C "$repo_dir" rev-parse --short HEAD)" qipai_release_manifest_json "$repo_dir" "$release_id" "false" } if [ "${1:-}" = "--run" ]; then qipai_deploy_business elif [ "${1:-}" = "--dry-run" ]; then qipai_deploy_business_dry_run "${2:-$(pwd)}" fi