Compare commits
4 Commits
v2.0.1-dev
..
v2.0.3
| Author | SHA1 | Date | |
|---|---|---|---|
| 69497b1ec6 | |||
| 698c5810a0 | |||
| 2582c1d824 | |||
| 6dd560f2ad |
@@ -57,6 +57,8 @@ jobs:
|
|||||||
push: ${{ github.event_name != 'pull_request' }}
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
build-args: |
|
||||||
|
TOOLS_CACHEBUST=${{ github.run_id }}
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
|
|||||||
@@ -100,6 +100,8 @@ jobs:
|
|||||||
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.tag }}
|
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.tag }}
|
||||||
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.version }}
|
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.version }}
|
||||||
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
|
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
|
||||||
|
build-args: |
|
||||||
|
TOOLS_CACHEBUST=${{ github.run_id }}
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
|
|||||||
+13
-4
@@ -64,11 +64,17 @@ RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \
|
|||||||
# Install Happy Coder globally via npm
|
# Install Happy Coder globally via npm
|
||||||
RUN npm install -g happy-coder
|
RUN npm install -g happy-coder
|
||||||
|
|
||||||
|
# Cache-bust: tools below fetch "latest" at build time — a changing ARG
|
||||||
|
# forces Docker to re-run these layers instead of serving stale cache.
|
||||||
|
ARG TOOLS_CACHEBUST=0
|
||||||
|
|
||||||
# Install Claude Code via native installer (no Node.js dependency)
|
# Install Claude Code via native installer (no Node.js dependency)
|
||||||
RUN CLAUDE_VERSION=$(curl -fsSL https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest) && \
|
RUN CLAUDE_VERSION=$(curl -fsSL https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest) && \
|
||||||
|
echo "Installing Claude Code ${CLAUDE_VERSION}" && \
|
||||||
curl -fsSL "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/${CLAUDE_VERSION}/linux-x64/claude" \
|
curl -fsSL "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/${CLAUDE_VERSION}/linux-x64/claude" \
|
||||||
-o /usr/local/bin/claude && \
|
-o /usr/local/bin/claude && \
|
||||||
chmod +x /usr/local/bin/claude
|
chmod +x /usr/local/bin/claude && \
|
||||||
|
claude --version
|
||||||
|
|
||||||
# Install OpenCode AI coding agent
|
# Install OpenCode AI coding agent
|
||||||
RUN OPENCODE_VERSION=$(curl -sL https://api.github.com/repos/opencode-ai/opencode/releases/latest | jq -r '.tag_name') && \
|
RUN OPENCODE_VERSION=$(curl -sL https://api.github.com/repos/opencode-ai/opencode/releases/latest | jq -r '.tag_name') && \
|
||||||
@@ -90,9 +96,12 @@ RUN curl -fsSL "https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz" |
|
|||||||
tar -xz --strip-components=1 -C /usr/local/bin linux-amd64/helm && \
|
tar -xz --strip-components=1 -C /usr/local/bin linux-amd64/helm && \
|
||||||
chmod +x /usr/local/bin/helm
|
chmod +x /usr/local/bin/helm
|
||||||
|
|
||||||
# Install VSCode
|
# Install VSCode (using Microsoft's current recommended setup)
|
||||||
RUN wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/packages.microsoft.gpg && \
|
RUN wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/microsoft.gpg && \
|
||||||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list && \
|
install -D -o root -g root -m 644 /tmp/microsoft.gpg /usr/share/keyrings/microsoft.gpg && \
|
||||||
|
rm -f /tmp/microsoft.gpg && \
|
||||||
|
printf 'Types: deb\nURIs: https://packages.microsoft.com/repos/code\nSuites: stable\nComponents: main\nArchitectures: amd64\nSigned-By: /usr/share/keyrings/microsoft.gpg\n' \
|
||||||
|
> /etc/apt/sources.list.d/vscode.sources && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y code && \
|
apt-get install -y code && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: devcontainer
|
name: devcontainer
|
||||||
description: Dev Container with AI coding agents and MCP sidecars - supports persistent and dynamic deployment modes
|
description: Dev Container with AI coding agents and MCP sidecars - supports persistent and dynamic deployment modes
|
||||||
type: application
|
type: application
|
||||||
version: 2.0.1-dev
|
version: 2.0.3
|
||||||
appVersion: "latest"
|
appVersion: "latest"
|
||||||
keywords:
|
keywords:
|
||||||
- development
|
- development
|
||||||
|
|||||||
Reference in New Issue
Block a user