All checks were successful
Build App / compute-version (push) Successful in 2s
Build App / build-macos (push) Successful in 2m47s
Build Container / build-container (push) Successful in 9m0s
Build App / build-linux (push) Successful in 4m41s
Build App / build-windows (push) Successful in 5m33s
Build App / create-tag (push) Successful in 3s
Build App / sync-to-github (push) Successful in 10s
The mission-control (Flight Control) project is being closed upstream. This embeds the project files directly in the repo under container/mission-control/, bakes them into the Docker image at /opt/mission-control, and copies them into place at container startup instead of git cloning from GitHub. Also adds missing osc52-clipboard, audio-shim, and triple-c-sso-refresh to the programmatic Docker build context in image.rs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
120 lines
3.1 KiB
Bash
Executable File
120 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# check-sync.sh - Compare .flightops directory between source and target
|
|
#
|
|
# Usage: check-sync.sh <source-dir> <target-dir>
|
|
#
|
|
# Outputs:
|
|
# missing - Target directory doesn't exist (neither .flightops/ nor .flight-ops/)
|
|
# outdated - Target exists but one or more files differ from source
|
|
# current - All files match source
|
|
#
|
|
# Additional output lines:
|
|
# agent-crews:{missing|empty|present} - Crew directory status
|
|
# crew-missing:{filename} - Default crew file not found in project (repeats per file)
|
|
# legacy-layout:flight-ops - .flight-ops/ detected (old name)
|
|
# legacy-layout:phases - phases/ detected (old name)
|
|
#
|
|
# Note: Only checks synced files (README.md, FLIGHT_OPERATIONS.md).
|
|
# ARTIFACTS.md and agent-crews/ are project-specific and not synced.
|
|
|
|
set -e
|
|
|
|
SOURCE_DIR="$1"
|
|
TARGET_DIR="$2"
|
|
|
|
if [[ -z "$SOURCE_DIR" || -z "$TARGET_DIR" ]]; then
|
|
echo "Usage: check-sync.sh <source-dir> <target-dir>" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d "$SOURCE_DIR" ]]; then
|
|
echo "Error: Source directory not found: $SOURCE_DIR" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Resolve the actual target directory, falling back to legacy name
|
|
EFFECTIVE_TARGET="$TARGET_DIR"
|
|
LEGACY_FLIGHT_OPS=false
|
|
|
|
if [[ ! -d "$TARGET_DIR" ]]; then
|
|
# Derive the legacy path: replace trailing .flightops with .flight-ops
|
|
LEGACY_DIR="${TARGET_DIR%/.flightops}/.flight-ops"
|
|
if [[ "$LEGACY_DIR" != "$TARGET_DIR" && -d "$LEGACY_DIR" ]]; then
|
|
EFFECTIVE_TARGET="$LEGACY_DIR"
|
|
LEGACY_FLIGHT_OPS=true
|
|
else
|
|
echo "missing"
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
# Compare each file in source directory
|
|
FILES_TO_CHECK=("FLIGHT_OPERATIONS.md" "README.md")
|
|
ALL_CURRENT=true
|
|
|
|
for FILE in "${FILES_TO_CHECK[@]}"; do
|
|
SOURCE_FILE="$SOURCE_DIR/$FILE"
|
|
TARGET_FILE="$EFFECTIVE_TARGET/$FILE"
|
|
|
|
if [[ ! -f "$SOURCE_FILE" ]]; then
|
|
continue
|
|
fi
|
|
|
|
if [[ ! -f "$TARGET_FILE" ]]; then
|
|
ALL_CURRENT=false
|
|
break
|
|
fi
|
|
|
|
SOURCE_HASH=$(sha256sum "$SOURCE_FILE" | cut -d' ' -f1)
|
|
TARGET_HASH=$(sha256sum "$TARGET_FILE" | cut -d' ' -f1)
|
|
|
|
if [[ "$SOURCE_HASH" != "$TARGET_HASH" ]]; then
|
|
ALL_CURRENT=false
|
|
break
|
|
fi
|
|
done
|
|
|
|
if $ALL_CURRENT; then
|
|
echo "current"
|
|
else
|
|
echo "outdated"
|
|
fi
|
|
|
|
# Report on agent-crews directory existence, checking both current and legacy names
|
|
CREW_DIR=""
|
|
LEGACY_PHASES=false
|
|
|
|
if [[ -d "$EFFECTIVE_TARGET/agent-crews" ]]; then
|
|
CREW_DIR="$EFFECTIVE_TARGET/agent-crews"
|
|
elif [[ -d "$EFFECTIVE_TARGET/phases" ]]; then
|
|
CREW_DIR="$EFFECTIVE_TARGET/phases"
|
|
LEGACY_PHASES=true
|
|
fi
|
|
|
|
if [[ -z "$CREW_DIR" ]]; then
|
|
echo "agent-crews:missing"
|
|
elif [[ -z "$(ls -A "$CREW_DIR" 2>/dev/null)" ]]; then
|
|
echo "agent-crews:empty"
|
|
else
|
|
echo "agent-crews:present"
|
|
# Check for missing crew files (new skills added since init)
|
|
DEFAULT_CREWS_DIR="$SOURCE_DIR/defaults/agent-crews"
|
|
if [[ -d "$DEFAULT_CREWS_DIR" ]]; then
|
|
for DEFAULT_FILE in "$DEFAULT_CREWS_DIR"/*.md; do
|
|
BASENAME=$(basename "$DEFAULT_FILE")
|
|
if [[ ! -f "$CREW_DIR/$BASENAME" ]]; then
|
|
echo "crew-missing:$BASENAME"
|
|
fi
|
|
done
|
|
fi
|
|
fi
|
|
|
|
# Report legacy layout detection
|
|
if $LEGACY_FLIGHT_OPS; then
|
|
echo "legacy-layout:flight-ops"
|
|
fi
|
|
|
|
if $LEGACY_PHASES; then
|
|
echo "legacy-layout:phases"
|
|
fi
|