packages/kits - next/required / Setup - Stage (push) Successful in 41s
packages/ssg - next/required / Setup - Stage (push) Successful in 40s
packages/stl - next/required / Setup - Stage (push) Successful in 41s
packages/ui - next/required / Setup - Stage (push) Successful in 41s
services/docs - next/required / Setup - Hugo (push) Successful in 3s
services/static - next/required / Setup - Stage (push) Successful in 40s
services/www - next/required / Setup - Stage (push) Successful in 41s
packages/kits - next/required / Build - Configs & UI (push) Successful in 34s
packages/ssg - next/required / Build - Configs (push) Successful in 19s
packages/stl - next/required / Build - Configs (push) Successful in 19s
packages/ui - next/required / Build - Configs (push) Successful in 24s
services/docs - next/required / Build - Hugo Site (push) Successful in 5s
services/static - next/required / Build - Configs (push) Successful in 23s
services/www - next/required / Build - Configs (push) Successful in 25s
packages/kits - next/required / Lint - Kits (push) Successful in 53s
packages/kits - next/required / Typecheck - Kits (push) Successful in 21s
packages/kits - next/required / Test - Unit (push) Successful in 24s
packages/kits - next/required / Build - Storybook (push) Successful in 30s
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 19s
packages/ssg - next/required / Build - SSG (push) Successful in 19s
packages/kits - next/required / Test - Storybook (push) Canceled after 0s
packages/stl - next/required / Typecheck - STL (push) Canceled after 0s
packages/stl - next/required / Test - STL (push) Canceled after 0s
packages/stl - next/required / Build - STL (push) Canceled after 0s
packages/ui - next/required / Lint - UI (push) Canceled after 0s
packages/ui - next/required / Typecheck - UI (push) Canceled after 0s
packages/ui - next/required / Test - Unit (push) Canceled after 0s
packages/ui - next/required / Build - Storybook (push) Canceled after 0s
packages/ui - next/required / Test - Storybook (push) Canceled after 0s
packages/ui - next/required / Build - UI (push) Canceled after 0s
services/docs - next/required / Release - Docker Image (push) Canceled after 0s
services/docs - next/required / Deploy - Kubernetes (GitOps) (push) Canceled after 0s
services/docs - next/required / Verify - Production Rollout (push) Canceled after 0s
services/static - next/required / Lint - Static (push) Canceled after 0s
services/static - next/required / Typecheck - Static (push) Canceled after 0s
services/static - next/required / Build - Static Site (push) Canceled after 0s
services/static - next/required / Deploy - S3 (push) Canceled after 0s
packages/stl - next/required / Lint - STL (push) Successful in 21s
services/www - next/required / Lint - WWW (push) Canceled after 0s
services/www - next/required / Typecheck - WWW (push) Canceled after 0s
services/www - next/required / Build - Storybook (push) Canceled after 0s
services/www - next/required / Test - Unit (push) Canceled after 0s
services/www - next/required / Test - Storybook (push) Canceled after 0s
services/www - next/required / Build - WWW Service (push) Canceled after 0s
services/www - next/required / Build - Docker Image (push) Canceled after 0s
services/www - next/required / Deploy - Kubernetes (GitOps) (push) Canceled after 0s
services/www - next/required / Verify - Production Rollout (push) Canceled after 0s
80 lines
2.3 KiB
Bash
Executable File
80 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
MODE="version"
|
|
SERVICE=""
|
|
COMMIT="HEAD"
|
|
EXPLICIT_VERSION=""
|
|
|
|
if [ $# -ge 2 ] && [ "$1" = "tag" ]; then
|
|
MODE="tag"
|
|
SERVICE="$2"
|
|
COMMIT="${3:-HEAD}"
|
|
EXPLICIT_VERSION="${4:-}"
|
|
elif [ $# -ge 1 ]; then
|
|
SERVICE="$1"
|
|
fi
|
|
|
|
YEAR_MONTH=$(date -u +'%Y.%m')
|
|
git fetch --tags --quiet 2>/dev/null || true
|
|
|
|
if [ -n "$SERVICE" ]; then
|
|
PREFIX="services/${SERVICE}-"
|
|
if [ -n "$EXPLICIT_VERSION" ]; then
|
|
VERSION="$EXPLICIT_VERSION"
|
|
else
|
|
PATTERN="${PREFIX}${YEAR_MONTH}.*"
|
|
LATEST_TAG=$(git tag -l "$PATTERN" | sort -V | tail -n1 || echo "")
|
|
if [ -z "$LATEST_TAG" ]; then
|
|
MICRO=1
|
|
else
|
|
LATEST_MICRO="${LATEST_TAG#"${PREFIX}${YEAR_MONTH}."}"
|
|
if [[ "$LATEST_MICRO" =~ ^[0-9]+$ ]]; then
|
|
MICRO=$((LATEST_MICRO + 1))
|
|
else
|
|
MICRO=1
|
|
fi
|
|
fi
|
|
VERSION="${YEAR_MONTH}.${MICRO}"
|
|
fi
|
|
TAG_NAME="${PREFIX}${VERSION}"
|
|
else
|
|
if [ -n "$EXPLICIT_VERSION" ]; then
|
|
VERSION="$EXPLICIT_VERSION"
|
|
else
|
|
PATTERN="${YEAR_MONTH}.*"
|
|
LATEST_TAG=$(git tag -l "$PATTERN" | sort -V | tail -n1 || echo "")
|
|
if [ -z "$LATEST_TAG" ]; then
|
|
MICRO=0
|
|
else
|
|
LATEST_MICRO="${LATEST_TAG#"${YEAR_MONTH}."}"
|
|
if [[ "$LATEST_MICRO" =~ ^[0-9]+$ ]]; then
|
|
MICRO=$((LATEST_MICRO + 1))
|
|
else
|
|
MICRO=0
|
|
fi
|
|
fi
|
|
VERSION="${YEAR_MONTH}.${MICRO}"
|
|
fi
|
|
TAG_NAME="$VERSION"
|
|
fi
|
|
|
|
if [ "$MODE" = "tag" ]; then
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
if git rev-parse -q --verify "refs/tags/$TAG_NAME" >/dev/null; then
|
|
EXISTING_COMMIT=$(git rev-parse "refs/tags/$TAG_NAME")
|
|
if [ "$EXISTING_COMMIT" = "$(git rev-parse "$COMMIT")" ]; then
|
|
echo "Tag $TAG_NAME already points to $COMMIT"
|
|
else
|
|
echo "Tag $TAG_NAME exists but points to $EXISTING_COMMIT, skipping create"
|
|
fi
|
|
else
|
|
echo "Creating tag $TAG_NAME on $COMMIT..."
|
|
git tag "$TAG_NAME" "$COMMIT"
|
|
fi
|
|
echo "Pushing tag $TAG_NAME..."
|
|
python3 "$ROOT_DIR/ci/scripts/git_write.py" "refs/tags/$TAG_NAME"
|
|
echo "Successfully created and pushed tag $TAG_NAME"
|
|
fi
|
|
echo "$VERSION"
|