- Standardize environment variable from IS_PROD to PROD across all scripts - Add missing -p flag to docker compose commands for consistent project naming - Fix GitHub Actions workflow to use environment vars instead of job outputs - Consolidate metadata setup and fix artifact naming in build/deploy jobs - Correct service paths in docker-compose_core.yml
36 lines
No EOL
1.2 KiB
Bash
36 lines
No EOL
1.2 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# Parse repository name and generate project paths
|
|
# Usage: ./parse-repository-name.sh GITHUB_REPOSITORY
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo "Error: No repository name provided" > /dev/stderr
|
|
echo "Usage: $0 GITHUB_REPOSITORY" > /dev/stderr
|
|
exit 1
|
|
fi
|
|
|
|
GITHUB_REPOSITORY="$1"
|
|
|
|
echo "GITHUB_REPOSITORY: $GITHUB_REPOSITORY" > /dev/stderr
|
|
|
|
if [[ "$GITHUB_REPOSITORY" == *".git" ]]; then
|
|
if [[ "$GITHUB_REPOSITORY" == "https://"* ]]; then
|
|
echo "GITHUB_REPOSITORY ends in .git and is a URL" > /dev/stderr
|
|
REPO=$(echo "$GITHUB_REPOSITORY" | sed 's/\.git$//' | cut -d'/' -f4-5 | sed 's/[^a-zA-Z0-9\/-]/-/g')
|
|
else
|
|
echo "GITHUB_REPOSITORY ends in .git and is not a URL" > /dev/stderr
|
|
REPO=$(echo "$GITHUB_REPOSITORY" | sed 's/\.git$//' | sed 's/[^a-zA-Z0-9\/-]/-/g')
|
|
fi
|
|
else
|
|
echo "GITHUB_REPOSITORY is not a URL" > /dev/stderr
|
|
REPO=$(echo "$GITHUB_REPOSITORY" | sed 's/[^a-zA-Z0-9\/-]/-/g')
|
|
fi
|
|
|
|
REPO_NAME_ONLY=$(echo "$REPO" | cut -d'/' -f2)
|
|
REPO_PROJECT_PATH="/srv/${REPO_NAME_ONLY}"
|
|
|
|
# Output in format that can be sourced - using printf %q for proper escaping
|
|
printf "export REPO=%q\n" "$REPO"
|
|
printf "export REPO_NAME_ONLY=%q\n" "$REPO_NAME_ONLY"
|
|
printf "export REPO_PROJECT_PATH=%q\n" "$REPO_PROJECT_PATH" |