From 993f9fa7d022e3634acb3d6078ed12ebff83370e Mon Sep 17 00:00:00 2001 From: GitHub Copilot CLI Date: Sun, 5 Apr 2026 21:46:15 +0900 Subject: [PATCH 1/4] Optimize devcontainer CI build time and setup --- .devcontainer/Dockerfile | 2 +- .devcontainer/devcontainer.json | 2 +- .devcontainer/setup.sh | 29 +++++++++++++++++++++++------ .github/workflows/test.yml | 31 ++++++------------------------- 4 files changed, 31 insertions(+), 33 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 15effda..90f373e 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -45,7 +45,7 @@ FROM system-base AS dev-tools ENV npm_config_cache=/tmp/npm-cache RUN --mount=type=cache,target=/tmp/npm-cache \ # 並列npm install(依存関係なし) - npm install -g --prefer-offline opencode-ai & \ + npm install -g --prefer-offline @opencode-ai/cli & \ npm install -g --prefer-offline @openchamber/web & \ npm install -g --prefer-offline ecc-universal & \ # 並列処理完了待ち diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index fba1ebf..fb1415e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -9,7 +9,7 @@ "installZsh": true, "configureZshAsDefaultShell": true, "installOhMyZsh": true, - "upgradePackages": true, + "upgradePackages": false, "username": "vscode", "userUid": "automatic", "userGid": "automatic" diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh index 239a61c..2ddf062 100755 --- a/.devcontainer/setup.sh +++ b/.devcontainer/setup.sh @@ -49,29 +49,46 @@ if [ -f "$WORKSPACE_ROOT/.env" ]; then load_env_file "$WORKSPACE_ROOT/.env" fi -# OpenCode CLI の確認・インストール +# OpenCode/OpenChamber/ECC の確認・インストール echo "🛠️ OpenCode CLI セットアップ..." +declare -a INSTALL_PIDS=() +declare -a INSTALL_NAMES=() + if ! command -v opencode &> /dev/null; then echo " OpenCode CLI をインストール中..." - npm install -g @opencode-ai/cli + npm install -g @opencode-ai/cli & + INSTALL_PIDS+=("$!") + INSTALL_NAMES+=("OpenCode CLI") else echo " ✅ OpenCode CLI 既にインストール済み: $(opencode --version)" fi -# OpenChamber の確認・インストール echo "🌐 OpenChamber セットアップ..." if ! command -v openchamber &> /dev/null; then echo " OpenChamber をインストール中..." - npm install -g @openchamber/web + npm install -g @openchamber/web & + INSTALL_PIDS+=("$!") + INSTALL_NAMES+=("OpenChamber") else echo " ✅ OpenChamber 既にインストール済み" fi -# ECC の確認・インストール・設定 echo "🎯 ECC (Everything Claude Code) セットアップ..." if ! command -v ecc &> /dev/null; then echo " ECC をインストール中..." - npm install -g ecc-universal + npm install -g ecc-universal & + INSTALL_PIDS+=("$!") + INSTALL_NAMES+=("ECC") +fi + +if [ ${#INSTALL_PIDS[@]} -gt 0 ]; then + echo " ⏳ 依存ツールのインストール完了待機中..." + for i in "${!INSTALL_PIDS[@]}"; do + if ! wait "${INSTALL_PIDS[$i]}"; then + echo " ❌ ${INSTALL_NAMES[$i]} のインストールに失敗しました" + exit 1 + fi + done fi # ECC の設定適用 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 38bcc20..b4a038a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,41 +7,22 @@ on: branches: [main] jobs: - test-devcontainer: + test-devcontainer-services: runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build DevContainer - uses: devcontainers/ci@v0.3 - with: - imageName: opencode-ecc-devcontainer - cacheFrom: opencode-ecc-devcontainer - push: never - - - name: Test DevContainer Build - run: | - echo "✅ DevContainer ビルド成功" - - test-services: - runs-on: ubuntu-latest - needs: test-devcontainer env: CI_MODE: "1" steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - - name: Test DevContainer Services + - name: Build and Test DevContainer Services uses: devcontainers/ci@v0.3 with: imageName: opencode-ecc-devcontainer + cacheFrom: type=gha + cacheTo: type=gha,mode=max + push: never runCmd: | # Node.js バージョン確認 node --version From 66c4018b1b59a6b5e8628c0f9eda8cf16c16b7ed Mon Sep 17 00:00:00 2001 From: GitHub Copilot CLI Date: Sun, 5 Apr 2026 21:54:24 +0900 Subject: [PATCH 2/4] Fix CI: remove unsupported cacheTo for devcontainers/ci --- .github/workflows/test.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b4a038a..9262267 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,8 +20,6 @@ jobs: uses: devcontainers/ci@v0.3 with: imageName: opencode-ecc-devcontainer - cacheFrom: type=gha - cacheTo: type=gha,mode=max push: never runCmd: | # Node.js バージョン確認 From 6e7a59c6a57c74ce98eabb9b3b4f3c58e212fda8 Mon Sep 17 00:00:00 2001 From: GitHub Copilot CLI Date: Sun, 5 Apr 2026 22:05:01 +0900 Subject: [PATCH 3/4] Fix CI: use opencode-ai package for OpenCode install --- .devcontainer/Dockerfile | 2 +- .devcontainer/setup.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 90f373e..15effda 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -45,7 +45,7 @@ FROM system-base AS dev-tools ENV npm_config_cache=/tmp/npm-cache RUN --mount=type=cache,target=/tmp/npm-cache \ # 並列npm install(依存関係なし) - npm install -g --prefer-offline @opencode-ai/cli & \ + npm install -g --prefer-offline opencode-ai & \ npm install -g --prefer-offline @openchamber/web & \ npm install -g --prefer-offline ecc-universal & \ # 並列処理完了待ち diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh index 2ddf062..ce209e0 100755 --- a/.devcontainer/setup.sh +++ b/.devcontainer/setup.sh @@ -56,7 +56,7 @@ declare -a INSTALL_NAMES=() if ! command -v opencode &> /dev/null; then echo " OpenCode CLI をインストール中..." - npm install -g @opencode-ai/cli & + npm install -g opencode-ai & INSTALL_PIDS+=("$!") INSTALL_NAMES+=("OpenCode CLI") else From b37e43e2bf0a8bdfcad0d73b9404070d592ff041 Mon Sep 17 00:00:00 2001 From: GitHub Copilot CLI Date: Mon, 6 Apr 2026 01:39:23 +0900 Subject: [PATCH 4/4] =?UTF-8?q?chore:=20.gitignore=E3=81=AB.devcontainer/.?= =?UTF-8?q?setup-complete=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index de9aa4f..ad04332 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,7 @@ temp/ # Docker関連 .docker/ +.devcontainer/.setup-complete # Tailscale状態(セキュリティ) *.key