chore: test deploy snapshot
This commit is contained in:
51
etc/commands/server-command/deploy-test.sh
Normal file
51
etc/commands/server-command/deploy-test.sh
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
||||
MAIN_PROJECT_ROOT="${MAIN_PROJECT_ROOT:-/workspace/main-project}"
|
||||
REPO_ROOT="${REPO_ROOT:-$MAIN_PROJECT_ROOT}"
|
||||
TEST_DEPLOY_GIT_REMOTE="${TEST_DEPLOY_GIT_REMOTE:-origin}"
|
||||
TEST_DEPLOY_GIT_BRANCH="${TEST_DEPLOY_GIT_BRANCH:-main}"
|
||||
TEST_BUILD_COMMAND="${TEST_BUILD_COMMAND:-npm run build:test-app}"
|
||||
TEST_SERVER_RESTART_SCRIPT="${TEST_SERVER_RESTART_SCRIPT:-$SCRIPT_DIR/restart-test.sh}"
|
||||
TEST_DEPLOY_COMMIT_MESSAGE="${TEST_DEPLOY_COMMIT_MESSAGE:-chore: test deploy snapshot}"
|
||||
|
||||
cd "$MAIN_PROJECT_ROOT"
|
||||
|
||||
if ! command -v git >/dev/null 2>&1; then
|
||||
echo "git CLI not found" >&2
|
||||
exit 127
|
||||
fi
|
||||
|
||||
if ! command -v npm >/dev/null 2>&1; then
|
||||
echo "npm CLI not found" >&2
|
||||
exit 127
|
||||
fi
|
||||
|
||||
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || true)
|
||||
|
||||
if [ "$CURRENT_BRANCH" != "$TEST_DEPLOY_GIT_BRANCH" ]; then
|
||||
echo "expected branch ${TEST_DEPLOY_GIT_BRANCH} in $MAIN_PROJECT_ROOT, got ${CURRENT_BRANCH:-unknown}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "::step::commit-main-worktree"
|
||||
git add -A -- . ':(exclude).server-command-test-app-built-at' ':(exclude,glob)tmp-*' ':(exclude,glob)tmp-verification/**'
|
||||
|
||||
if git diff --cached --quiet; then
|
||||
echo "no commit needed; main worktree already committed"
|
||||
else
|
||||
echo "staged files for TEST deploy commit:"
|
||||
git diff --cached --name-status
|
||||
git commit -m "$TEST_DEPLOY_COMMIT_MESSAGE"
|
||||
fi
|
||||
|
||||
echo "::step::push-origin-main"
|
||||
git push "$TEST_DEPLOY_GIT_REMOTE" "$TEST_DEPLOY_GIT_BRANCH"
|
||||
|
||||
echo "::step::build-test-app"
|
||||
sh -lc "$TEST_BUILD_COMMAND"
|
||||
|
||||
echo "::step::deploy-test-server"
|
||||
REPO_ROOT="$REPO_ROOT" sh "$TEST_SERVER_RESTART_SCRIPT"
|
||||
Reference in New Issue
Block a user