Skip to content

Commit 9fc4ddb

Browse files
authored
CI/CD環境構築 (#4)
1 parent 33a1023 commit 9fc4ddb

File tree

13 files changed

+1876
-0
lines changed

13 files changed

+1876
-0
lines changed

.github/scripts/load-config.sh

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/bin/bash
2+
# Unity CI/CD 設定読み込みスクリプト
3+
# このスクリプトは GitHub Actions ワークフローから呼び出されます
4+
5+
set -e
6+
7+
CONFIG_FILE=".github/unity-ci.config"
8+
9+
echo "Loading configuration from ${CONFIG_FILE}..."
10+
11+
# .env ファイルから設定を読み込み
12+
if [ -f "$CONFIG_FILE" ]; then
13+
# コメント行と空行を除外して環境変数として設定
14+
while IFS='=' read -r key value || [ -n "$key" ]; do
15+
# コメント行と空行をスキップ
16+
[[ "$key" =~ ^[[:space:]]*# ]] && continue
17+
[[ -z "$key" ]] && continue
18+
19+
# キーと値の前後の空白を除去
20+
key=$(echo "$key" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
21+
value=$(echo "$value" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
22+
23+
# 空のキーをスキップ
24+
[[ -z "$key" ]] && continue
25+
26+
echo "${key}=${value}" >> $GITHUB_ENV
27+
echo " ${key}=${value}"
28+
done < "$CONFIG_FILE"
29+
else
30+
echo "Warning: Configuration file not found: ${CONFIG_FILE}"
31+
echo "Using default values..."
32+
fi
33+
34+
# workflow_dispatch のオーバーライドを適用
35+
if [ -n "${INPUT_PROJECT_PATH}" ]; then
36+
echo "UNITY_PROJECT_PATH=${INPUT_PROJECT_PATH}" >> $GITHUB_ENV
37+
echo " UNITY_PROJECT_PATH=${INPUT_PROJECT_PATH} (overridden)"
38+
fi
39+
40+
# デフォルト値を設定(未設定の場合のみ)
41+
# 注: GITHUB_ENV に追加された値は現在のステップでは参照できないため、
42+
# ここでは既存の環境変数のみをチェック
43+
{
44+
echo "UNITY_PROJECT_PATH=${UNITY_PROJECT_PATH:-./src/Game.Client}"
45+
echo "CACHE_KEY_PREFIX=${CACHE_KEY_PREFIX:-Library}"
46+
echo "ARTIFACT_RETENTION_DAYS=${ARTIFACT_RETENTION_DAYS:-14}"
47+
echo "BUILD_RETENTION_DAYS=${BUILD_RETENTION_DAYS:-30}"
48+
echo "DEFAULT_BUILD_TARGET=${DEFAULT_BUILD_TARGET:-StandaloneWindows64}"
49+
} >> $GITHUB_ENV
50+
51+
echo "Configuration loaded successfully."

.github/unity-ci.config

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Unity CI/CD 設定ファイル
2+
3+
# プロジェクト
4+
UNITY_PROJECT_PATH=./src/Game.Client
5+
6+
# デフォルトビルドターゲット: StandaloneWindows64, StandaloneLinux64, StandaloneOSX, WebGL, Android, iOS, All
7+
DEFAULT_BUILD_TARGET=StandaloneWindows64
8+
9+
# キャッシュキーのプレフィックス(プロジェクト名など)
10+
CACHE_KEY_PREFIX=Library
11+
12+
# ログ・テスト結果の保持日数
13+
ARTIFACT_RETENTION_DAYS=14
14+
15+
# ビルド成果物の保持日数
16+
BUILD_RETENTION_DAYS=30

.github/unity-ci.config.example

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Unity CI/CD 設定ファイル
2+
# このファイルを編集してプロジェクトに合わせた設定を行ってください
3+
#
4+
# 使用方法:
5+
# 1. このファイルをプロジェクトに合わせて編集
6+
# 2. コミットしてプッシュ
7+
# 3. ワークフローが自動的にこの設定を読み込みます
8+
9+
# ==============================================
10+
# 必須設定
11+
# ==============================================
12+
13+
# Unity プロジェクトのパス(リポジトリルートからの相対パス)
14+
UNITY_PROJECT_PATH=./src/Game.Client
15+
16+
# ==============================================
17+
# ビルド設定
18+
# ==============================================
19+
20+
# デフォルトのビルドターゲット
21+
# 選択肢: StandaloneWindows64, StandaloneLinux64, StandaloneOSX, WebGL, Android, iOS, All
22+
DEFAULT_BUILD_TARGET=StandaloneWindows64
23+
24+
# ==============================================
25+
# キャッシュ設定
26+
# ==============================================
27+
28+
# キャッシュキーのプレフィックス(プロジェクト名など)
29+
CACHE_KEY_PREFIX=Library
30+
31+
# ==============================================
32+
# アーティファクト保持期間
33+
# ==============================================
34+
35+
# ログ・テスト結果の保持日数
36+
ARTIFACT_RETENTION_DAYS=14
37+
38+
# ビルド成果物の保持日数
39+
BUILD_RETENTION_DAYS=30
40+
41+
# ==============================================
42+
# Runner 設定(参考情報)
43+
# ==============================================
44+
# Runner のラベルはワークフローファイル内で直接指定されています
45+
# 変更が必要な場合は .github/workflows/unity-ci-docker.yml を編集してください
46+
# デフォルト: self-hosted,linux,unity,docker

0 commit comments

Comments
 (0)