ci-platforms / build (amd64, darwin, macos-15-intel) (push) Skipped
ci-platforms / build (amd64, windows, windows-2022) (push) Skipped
ci-platforms / build (arm64, darwin, macos-15) (push) Skipped
ci / checks (push) Successful in 13m36s
ci / build (amd64, linux, ubuntu-24.04) (push) Successful in 14m40s
23 lines
602 B
Bash
Executable File
23 lines
602 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
ref="${1:-master}"
|
|
work="${AEGO_WORK:-$HOME/aego}"
|
|
state="${XDG_STATE_HOME:-$HOME/.local/state}/aego-deploy"
|
|
mkdir -p "$state"
|
|
exec 8>"$state/deploy.lock"
|
|
flock 8
|
|
cd "$work"
|
|
unset GIT_DIR
|
|
git fetch -q origin
|
|
if [[ "$ref" =~ ^[0-9a-f]{40}$ ]]; then
|
|
git checkout -q -f --detach "$ref"
|
|
else
|
|
git checkout -q -f --detach "origin/$ref"
|
|
fi
|
|
sha=$(git rev-parse HEAD)
|
|
docker compose -f deploy/compose.yml build
|
|
docker compose -f deploy/compose.yml up -d --wait --remove-orphans
|
|
docker image prune -f >/dev/null
|
|
echo "$sha" >"$state/deployed"
|
|
echo "deployed ${sha:0:7}"
|