forked from baron/baron-sso
go 버전업 && ory 설정파일들 자동 생성 스크립트 추가
This commit is contained in:
78
test/backend_go_version_policy_test.sh
Normal file
78
test/backend_go_version_policy_test.sh
Normal file
@@ -0,0 +1,78 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
TARGET_GO_VERSION="1.26.2"
|
||||
|
||||
GO_MOD="$ROOT_DIR/backend/go.mod"
|
||||
BACKEND_DOCKERFILE="$ROOT_DIR/backend/Dockerfile"
|
||||
LOCAL_COMPOSE="$ROOT_DIR/docker-compose.yaml"
|
||||
STAGING_COMPOSE="$ROOT_DIR/docker/docker-compose.staging.template.yaml"
|
||||
PULL_COMPOSE="$ROOT_DIR/docker/staging_pull_compose.template.yaml"
|
||||
DEPLOY_TEMPLATE="$ROOT_DIR/deploy/templates/docker-compose.yaml"
|
||||
README="$ROOT_DIR/README.md"
|
||||
README_EN="$ROOT_DIR/README_en.md"
|
||||
TEST_GUIDE="$ROOT_DIR/docs/TEST_GUIDE.md"
|
||||
COMPLETION_REPORT="$ROOT_DIR/docs/개발완료보고서.md"
|
||||
|
||||
for file in \
|
||||
"$GO_MOD" \
|
||||
"$BACKEND_DOCKERFILE" \
|
||||
"$LOCAL_COMPOSE" \
|
||||
"$STAGING_COMPOSE" \
|
||||
"$PULL_COMPOSE" \
|
||||
"$DEPLOY_TEMPLATE" \
|
||||
"$README" \
|
||||
"$README_EN" \
|
||||
"$TEST_GUIDE" \
|
||||
"$COMPLETION_REPORT"
|
||||
do
|
||||
if [[ ! -f "$file" ]]; then
|
||||
echo "ERROR: expected file not found: $file" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if ! grep -Eq "^go ${TARGET_GO_VERSION}$" "$GO_MOD"; then
|
||||
echo "ERROR: backend go.mod must use go ${TARGET_GO_VERSION}." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -Eq "^FROM golang:${TARGET_GO_VERSION}-alpine$" "$BACKEND_DOCKERFILE"; then
|
||||
echo "ERROR: backend Dockerfile must use golang:${TARGET_GO_VERSION}-alpine." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for file in "$LOCAL_COMPOSE" "$PULL_COMPOSE"; do
|
||||
if ! grep -Fq "context: ./backend" "$file" && ! grep -Fq "context: ../../backend" "$file"; then
|
||||
echo "ERROR: backend compose build context is missing in $file." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
for file in "$STAGING_COMPOSE" "$DEPLOY_TEMPLATE"; do
|
||||
if ! grep -Eq "^[[:space:]]+backend:$" "$file"; then
|
||||
echo "ERROR: backend service is missing in $file." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
legacy_refs="$(
|
||||
grep -R -nE "golang:1\\.25|^go 1\\.25" \
|
||||
"$ROOT_DIR/backend" \
|
||||
"$ROOT_DIR/docker-compose.yaml" \
|
||||
"$ROOT_DIR/docker" \
|
||||
"$ROOT_DIR/deploy/templates" \
|
||||
"$README" \
|
||||
"$README_EN" \
|
||||
"$TEST_GUIDE" \
|
||||
"$COMPLETION_REPORT" || true
|
||||
)"
|
||||
|
||||
if [[ -n "$legacy_refs" ]]; then
|
||||
echo "ERROR: legacy backend Go version references remain." >&2
|
||||
echo "$legacy_refs" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "OK: backend Go base version policy is ${TARGET_GO_VERSION}"
|
||||
Reference in New Issue
Block a user