Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a31202f63b |
@@ -51,12 +51,25 @@ jobs:
|
|||||||
id: determine
|
id: determine
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
TAG="${{ github.ref_name }}"
|
REF="${{ github.ref }}"
|
||||||
|
REF_NAME="${{ github.ref_name }}"
|
||||||
|
REF_TYPE="${{ github.ref_type }}"
|
||||||
SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7)
|
SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7)
|
||||||
DOMAIN_BASE="mb-grid-solutions.com"
|
DOMAIN_BASE="mb-grid-solutions.com"
|
||||||
PRJ_ID="mb-grid-solutions"
|
PRJ_ID="mb-grid-solutions"
|
||||||
|
|
||||||
if [[ "${{ github.ref_type }}" == "branch" && "$TAG" == "main" ]]; then
|
echo "Detecting environment for ref: $REF ($REF_NAME, type: $REF_TYPE)"
|
||||||
|
|
||||||
|
# Fallback for REF_TYPE if missing
|
||||||
|
if [[ -z "$REF_TYPE" ]]; then
|
||||||
|
if [[ "$REF" == refs/tags/* ]]; then
|
||||||
|
REF_TYPE="tag"
|
||||||
|
elif [[ "$REF" == refs/heads/* ]]; then
|
||||||
|
REF_TYPE="branch"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$REF_TYPE" == "branch" && "$REF_NAME" == "main" ]]; then
|
||||||
TARGET="testing"
|
TARGET="testing"
|
||||||
IMAGE_TAG="testing-${SHORT_SHA}"
|
IMAGE_TAG="testing-${SHORT_SHA}"
|
||||||
ENV_FILE=".env.testing"
|
ENV_FILE=".env.testing"
|
||||||
@@ -64,18 +77,18 @@ jobs:
|
|||||||
NEXT_PUBLIC_BASE_URL="https://testing.${DOMAIN_BASE}"
|
NEXT_PUBLIC_BASE_URL="https://testing.${DOMAIN_BASE}"
|
||||||
DIRECTUS_URL="https://cms.testing.${DOMAIN_BASE}"
|
DIRECTUS_URL="https://cms.testing.${DOMAIN_BASE}"
|
||||||
DIRECTUS_HOST="cms.testing.${DOMAIN_BASE}"
|
DIRECTUS_HOST="cms.testing.${DOMAIN_BASE}"
|
||||||
elif [[ "${{ github.ref_type }}" == "tag" ]]; then
|
elif [[ "$REF_TYPE" == "tag" ]]; then
|
||||||
if [[ "$TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
if [[ "$REF_NAME" =~ ^v[0-9]+\.[0-9]+(\.[0-9]+)?$ ]]; then
|
||||||
TARGET="production"
|
TARGET="production"
|
||||||
IMAGE_TAG="$TAG"
|
IMAGE_TAG="$REF_NAME"
|
||||||
ENV_FILE=".env.prod"
|
ENV_FILE=".env.prod"
|
||||||
TRAEFIK_HOST="${DOMAIN_BASE}, www.${DOMAIN_BASE}"
|
TRAEFIK_HOST="${DOMAIN_BASE}, www.${DOMAIN_BASE}"
|
||||||
NEXT_PUBLIC_BASE_URL="https://${DOMAIN_BASE}"
|
NEXT_PUBLIC_BASE_URL="https://${DOMAIN_BASE}"
|
||||||
DIRECTUS_URL="https://cms.${DOMAIN_BASE}"
|
DIRECTUS_URL="https://cms.${DOMAIN_BASE}"
|
||||||
DIRECTUS_HOST="cms.${DOMAIN_BASE}"
|
DIRECTUS_HOST="cms.${DOMAIN_BASE}"
|
||||||
elif [[ "$TAG" =~ -rc || "$TAG" =~ -beta || "$TAG" =~ -alpha ]]; then
|
elif [[ "$REF_NAME" =~ -rc || "$REF_NAME" =~ -beta || "$REF_NAME" =~ -alpha ]]; then
|
||||||
TARGET="staging"
|
TARGET="staging"
|
||||||
IMAGE_TAG="$TAG"
|
IMAGE_TAG="$REF_NAME"
|
||||||
ENV_FILE=".env.staging"
|
ENV_FILE=".env.staging"
|
||||||
TRAEFIK_HOST="staging.${DOMAIN_BASE}"
|
TRAEFIK_HOST="staging.${DOMAIN_BASE}"
|
||||||
NEXT_PUBLIC_BASE_URL="https://staging.${DOMAIN_BASE}"
|
NEXT_PUBLIC_BASE_URL="https://staging.${DOMAIN_BASE}"
|
||||||
@@ -83,12 +96,16 @@ jobs:
|
|||||||
DIRECTUS_HOST="cms.staging.${DOMAIN_BASE}"
|
DIRECTUS_HOST="cms.staging.${DOMAIN_BASE}"
|
||||||
else
|
else
|
||||||
TARGET="skip"
|
TARGET="skip"
|
||||||
|
echo "Tag $REF_NAME did not match any environment pattern."
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
TARGET="skip"
|
TARGET="skip"
|
||||||
|
echo "Ref type $REF_TYPE is not handled for deployment."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Target determined: $TARGET"
|
echo "Target determined: $TARGET"
|
||||||
|
echo "Image tag: $IMAGE_TAG"
|
||||||
|
|
||||||
echo "target=$TARGET" >> "$GITHUB_OUTPUT"
|
echo "target=$TARGET" >> "$GITHUB_OUTPUT"
|
||||||
echo "image_tag=$IMAGE_TAG" >> "$GITHUB_OUTPUT"
|
echo "image_tag=$IMAGE_TAG" >> "$GITHUB_OUTPUT"
|
||||||
echo "env_file=$ENV_FILE" >> "$GITHUB_OUTPUT"
|
echo "env_file=$ENV_FILE" >> "$GITHUB_OUTPUT"
|
||||||
|
|||||||
Reference in New Issue
Block a user