Skip to content

Commit 5653c68

Browse files
committed
fix(build): seperated build files for each team
1 parent b1f1074 commit 5653c68

3 files changed

Lines changed: 137 additions & 0 deletions

File tree

backend/build.sh

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Backend build script
5+
# Environment variables passed from workflow:
6+
# - COMMIT_TAG: Short commit SHA (e.g., abc123)
7+
# - ENV_TAG: Environment tag (prod/dev)
8+
# - MOVING_TAG: Moving tag (latest/dev)
9+
# - OWNER_NAME: GitHub owner/org name
10+
# - REPO_NAME: Repository name
11+
# - GITHUB_PAT: GitHub Personal Access Token
12+
# - DOCKER_USER: Docker Hub username
13+
# - DOCKER_PASS: Docker Hub password
14+
15+
# Navigate to app directory
16+
cd ../app
17+
18+
# Build Docker image with commit SHA + environment tag
19+
docker build -t ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} . > /dev/null 2>&1
20+
21+
# Tag with moving tag
22+
docker tag ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${MOVING_TAG} > /dev/null 2>&1
23+
24+
# Tag for Docker Hub
25+
docker tag ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} ${DOCKER_USER}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} > /dev/null 2>&1
26+
docker tag ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} ${DOCKER_USER}/${REPO_NAME,,}:${MOVING_TAG} > /dev/null 2>&1
27+
28+
# Test the container (10 second timeout)
29+
docker run -d --name test_container ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} > /dev/null 2>&1 || exit 1
30+
sleep 10
31+
docker stop test_container > /dev/null 2>&1 || true
32+
docker rm test_container > /dev/null 2>&1 || true
33+
34+
# Login to GitHub Container Registry
35+
echo "${GITHUB_PAT}" | docker login ghcr.io -u "${OWNER_NAME}" --password-stdin > /dev/null 2>&1
36+
37+
# Push to GHCR
38+
docker push ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} > /dev/null 2>&1
39+
docker push ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${MOVING_TAG} > /dev/null 2>&1
40+
41+
# Login to Docker Hub
42+
echo "${DOCKER_PASS}" | docker login -u "${DOCKER_USER}" --password-stdin > /dev/null 2>&1
43+
44+
# Push to Docker Hub
45+
docker push ${DOCKER_USER}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} > /dev/null 2>&1
46+
docker push ${DOCKER_USER}/${REPO_NAME,,}:${MOVING_TAG} > /dev/null 2>&1

cross-platform/build.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Cross-platform build script
5+
# Environment variables passed from workflow:
6+
# - COMMIT_TAG: Short commit SHA (e.g., abc123)
7+
# - ENV_TAG: Environment tag (prod/dev)
8+
# - MOVING_TAG: Moving tag (latest/dev)
9+
10+
# Navigate to app directory
11+
cd ../app
12+
13+
# Install Flutter if not present
14+
if ! command -v flutter &> /dev/null; then
15+
git clone -q https://github.com/flutter/flutter.git -b stable /opt/flutter
16+
export PATH="$PATH:/opt/flutter/bin"
17+
fi
18+
19+
# Get Flutter dependencies
20+
flutter pub get > /dev/null 2>&1
21+
22+
# Build for Android (APK)
23+
flutter build apk --release > /dev/null 2>&1
24+
25+
# Build for iOS (if on macOS - will skip on Linux runners)
26+
if [[ "$OSTYPE" == "darwin"* ]]; then
27+
flutter build ios --release --no-codesign > /dev/null 2>&1
28+
fi
29+
30+
# Build for Web
31+
flutter build web --release > /dev/null 2>&1

frontend/build.sh

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Frontend build script
5+
# Environment variables passed from workflow:
6+
# - COMMIT_TAG: Short commit SHA (e.g., abc123)
7+
# - ENV_TAG: Environment tag (prod/dev)
8+
# - MOVING_TAG: Moving tag (latest/dev)
9+
# - OWNER_NAME: GitHub owner/org name
10+
# - REPO_NAME: Repository name
11+
# - GITHUB_PAT: GitHub Personal Access Token
12+
# - DOCKER_USER: Docker Hub username
13+
# - DOCKER_PASS: Docker Hub password
14+
# - NEXT_PUBLIC_* variables for build args
15+
16+
# Navigate to app directory
17+
cd ../app
18+
19+
# Build Docker image with frontend-specific build arguments
20+
BUILD_ARGS=(
21+
"--build-arg" "NEXT_PUBLIC_API_BASE_URL=${NEXT_PUBLIC_API_BASE_URL}"
22+
"--build-arg" "NEXT_PUBLIC_API_VERSION=${NEXT_PUBLIC_API_VERSION}"
23+
"--build-arg" "NEXT_PUBLIC_API_TIMEOUT=${NEXT_PUBLIC_API_TIMEOUT}"
24+
"--build-arg" "NEXT_PUBLIC_API_RETRY_ATTEMPTS=${NEXT_PUBLIC_API_RETRY_ATTEMPTS}"
25+
"--build-arg" "NEXT_PUBLIC_API_DEBUG=${NEXT_PUBLIC_API_DEBUG}"
26+
"--build-arg" "NEXT_PUBLIC_RECAPTCHA_SITE_KEY=${NEXT_PUBLIC_RECAPTCHA_SITE_KEY}"
27+
"--build-arg" "NEXT_PUBLIC_SKIP_VERIFICATION_STEPS=${NEXT_PUBLIC_SKIP_VERIFICATION_STEPS}"
28+
"--build-arg" "NEXT_PUBLIC_AUTH_SUCCESS_REDIRECT=${NEXT_PUBLIC_AUTH_SUCCESS_REDIRECT}"
29+
)
30+
31+
echo "Building frontend with args: ${BUILD_ARGS[@]}"
32+
33+
docker build "${BUILD_ARGS[@]}" -t ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} . > /dev/null 2>&1
34+
35+
# Tag with moving tag
36+
docker tag ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${MOVING_TAG} > /dev/null 2>&1
37+
38+
# Tag for Docker Hub
39+
docker tag ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} ${DOCKER_USER}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} > /dev/null 2>&1
40+
docker tag ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} ${DOCKER_USER}/${REPO_NAME,,}:${MOVING_TAG} > /dev/null 2>&1
41+
42+
# Test the container (10 second timeout)
43+
docker run -d --name test_container ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} > /dev/null 2>&1 || exit 1
44+
sleep 10
45+
docker stop test_container > /dev/null 2>&1 || true
46+
docker rm test_container > /dev/null 2>&1 || true
47+
48+
# Login to GitHub Container Registry
49+
echo "${GITHUB_PAT}" | docker login ghcr.io -u "${OWNER_NAME}" --password-stdin > /dev/null 2>&1
50+
51+
# Push to GHCR
52+
docker push ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} > /dev/null 2>&1
53+
docker push ghcr.io/${OWNER_NAME,,}/${REPO_NAME,,}:${MOVING_TAG} > /dev/null 2>&1
54+
55+
# Login to Docker Hub
56+
echo "${DOCKER_PASS}" | docker login -u "${DOCKER_USER}" --password-stdin > /dev/null 2>&1
57+
58+
# Push to Docker Hub
59+
docker push ${DOCKER_USER}/${REPO_NAME,,}:${COMMIT_TAG}-${ENV_TAG} > /dev/null 2>&1
60+
docker push ${DOCKER_USER}/${REPO_NAME,,}:${MOVING_TAG} > /dev/null 2>&1

0 commit comments

Comments
 (0)