packages/kits - next/required / Setup - Stage (push) Successful in 41s
packages/ssg - next/required / Setup - Stage (push) Successful in 41s
packages/stl - next/required / Setup - Stage (push) Successful in 41s
packages/ui - next/required / Setup - Stage (push) Successful in 40s
services/docs - next/required / Setup - Hugo (push) Successful in 3s
services/static - next/required / Setup - Stage (push) Successful in 41s
services/www - next/required / Setup - Stage (push) Successful in 41s
packages/kits - next/required / Build - Configs & UI (push) Successful in 31s
packages/ssg - next/required / Build - Configs (push) Successful in 19s
packages/stl - next/required / Build - Configs (push) Successful in 20s
services/www - next/required / Build - Configs (push) Successful in 26s
packages/kits - next/required / Build - Storybook (push) Successful in 32s
packages/ui - next/required / Build - Configs (push) Successful in 25s
services/docs - next/required / Build - Hugo Site (push) Successful in 5s
services/static - next/required / Build - Configs (push) Successful in 23s
packages/kits - next/required / Lint - Kits (push) Successful in 53s
packages/kits - next/required / Typecheck - Kits (push) Successful in 22s
packages/kits - next/required / Test - Unit (push) Successful in 25s
packages/kits - next/required / Build - Kits (push) Successful in 24s
packages/ssg - next/required / Lint - SSG (push) Successful in 22s
packages/ssg - next/required / Typecheck - SSG (push) Successful in 18s
packages/ssg - next/required / Build - SSG (push) Successful in 20s
packages/stl - next/required / Test - STL (push) Successful in 20s
packages/stl - next/required / Build - STL (push) Successful in 20s
packages/stl - next/required / Lint - STL (push) Successful in 21s
packages/stl - next/required / Typecheck - STL (push) Successful in 19s
packages/ui - next/required / Lint - UI (push) Successful in 30s
packages/ui - next/required / Typecheck - UI (push) Successful in 21s
packages/ui - next/required / Test - Unit (push) Successful in 27s
packages/ui - next/required / Build - Storybook (push) Successful in 30s
packages/ui - next/required / Build - UI (push) Successful in 23s
services/docs - next/required / Release - Docker Image (push) Successful in 32s
services/static - next/required / Lint - Static (push) Successful in 23s
services/static - next/required / Typecheck - Static (push) Successful in 21s
services/static - next/required / Build - Static Site (push) Successful in 23s
services/www - next/required / Lint - WWW (push) Successful in 27s
services/www - next/required / Typecheck - WWW (push) Successful in 22s
services/www - next/required / Build - Storybook (push) Successful in 28s
services/www - next/required / Test - Unit (push) Successful in 21s
services/www - next/required / Build - WWW Service (push) Successful in 40s
packages/kits - next/required / Test - Storybook (push) Successful in 1m37s
packages/ui - next/required / Test - Storybook (push) Successful in 1m56s
services/www - next/required / Test - Storybook (push) Canceled after 54s
services/docs - next/required / Deploy - Kubernetes (GitOps) (push) Failing after 2m16s
services/docs - next/required / Verify - Production Rollout (push) Skipped
services/static - next/required / Deploy - S3 (push) Failing after 4s
services/www - next/required / Build - Docker Image (push) Canceled after 0s
44 lines
1.2 KiB
Bash
Executable File
44 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
SERVICE=$1
|
|
TAG=$2
|
|
|
|
if [ -z "$SERVICE" ] || [ -z "$TAG" ]; then
|
|
echo "Usage: $0 <service: www|docs|umami> <tag>"
|
|
exit 1
|
|
fi
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
APP_DIR="$ROOT_DIR/ci/k8s/apps/$SERVICE"
|
|
|
|
if [ ! -d "$APP_DIR" ]; then
|
|
echo "Error: Application directory '$APP_DIR' does not exist."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Updating Kustomize image tag for '$SERVICE' to '$TAG'..."
|
|
cd "$APP_DIR"
|
|
IMAGE="git.ermnvldmr.com/deytenit/ermnvldmr.com/${SERVICE}"
|
|
if [[ "$TAG" =~ ^sha256:[0-9a-f]{64}$ ]]; then
|
|
kustomize edit set image "${IMAGE}=${IMAGE}@${TAG}"
|
|
elif [[ "$TAG" =~ ^[A-Za-z0-9_][A-Za-z0-9_.-]{0,127}$ ]]; then
|
|
kustomize edit set image "${IMAGE}=${IMAGE}:${TAG}"
|
|
else
|
|
echo "Invalid image digest or tag" >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd "$ROOT_DIR"
|
|
git config user.name "APEX CI"
|
|
git config user.email "adam@ermnvldmr.com"
|
|
git add "ci/k8s/apps/${SERVICE}/kustomization.yaml"
|
|
|
|
if git diff --staged --quiet; then
|
|
echo "No manifest changes to commit for $SERVICE."
|
|
else
|
|
git commit --no-gpg-sign -m "chore(release): deploy ${SERVICE} ${TAG} [skip ci]"
|
|
python3 "$ROOT_DIR/ci/scripts/git_write.py" HEAD:next
|
|
echo "Successfully deployed $SERVICE ($TAG) via GitOps."
|
|
fi
|