Skip to content

Commit 63c089f

Browse files
committed
updated vscode devcontainer
1 parent 2a8ed05 commit 63c089f

2 files changed

Lines changed: 53 additions & 15 deletions

File tree

.github/workflows/main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ jobs:
2323
matrix:
2424
include:
2525
- image_name: vscode-devcontainer
26-
image_tag: 202512
27-
filter_ref: gh-devcontainer-202512
28-
dockerfile_path: vscode-devcontainer/versions/go1.25-node24/
26+
image_tag: 20260103
27+
filter_ref: gh-devcontainer
28+
dockerfile_path: vscode-devcontainer/versions/go1.25-node25/
2929
platforms: linux/amd64,linux/arm64
3030
- image_name: shellcheck
3131
image_tag: 0.7

vscode-devcontainer/versions/go1.25-node24/Dockerfile renamed to vscode-devcontainer/versions/go1.25-node25/Dockerfile

Lines changed: 50 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@
44
# Global Arguments
55
# ==============================================================================
66
ARG GO_VERSION=1.25.5
7-
ARG UBUNTU_VERSION=24.04
7+
ARG DEBIAN_VERSION=trixie-20251208
8+
# ARG GO_VERSION=1.25.5-debian13
9+
# ARG DEBIAN_VERSION=trixie-debian13-fips
810

911
# ==============================================================================
1012
# Stage 1: Go Tool Builder
1113
# ==============================================================================
1214
FROM golang:${GO_VERSION}-bookworm AS go-builder
15+
# FROM dhi.io/golang:${GO_VERSION}-dev AS go-builder
1316

1417
ARG TARGETARCH
1518

@@ -18,13 +21,15 @@ ENV CGO_ENABLED=0 \
1821
GOARCH=${TARGETARCH}
1922

2023
ENV AIR_VERSION=v1.63.4 \
21-
DELVE_VERSION=v1.25.2 \
24+
DELVE_VERSION=v1.26.0 \
2225
MOCKGEN_VERSION=v0.6.0 \
2326
BUF_VERSION=v1.61.0 \
2427
PROTOC_GEN_GO_VERSION=v1.36.10 \
28+
PROTOC_GEN_GO_GRPC_VERSION=v1.6.0 \
2529
PROTOC_GEN_CONNECT_GO_VERSION=v1.19.1 \
30+
GRPC_GATEWAY_VERSION=v2.27.4 \
2631
OAPI_VERSION=v2.5.1 \
27-
GOLANGCI_LINT_VERSION=v2.7.1
32+
GOLANGCI_LINT_VERSION=v2.7.2
2833

2934
RUN --mount=type=cache,target=/go/pkg/mod \
3035
--mount=type=cache,target=/root/.cache/go-build \
@@ -33,7 +38,10 @@ RUN --mount=type=cache,target=/go/pkg/mod \
3338
go install go.uber.org/mock/mockgen@${MOCKGEN_VERSION} && \
3439
go install github.com/bufbuild/buf/cmd/buf@${BUF_VERSION} && \
3540
go install google.golang.org/protobuf/cmd/protoc-gen-go@${PROTOC_GEN_GO_VERSION} && \
41+
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@${PROTOC_GEN_GO_GRPC_VERSION} && \
3642
go install connectrpc.com/connect/cmd/protoc-gen-connect-go@${PROTOC_GEN_CONNECT_GO_VERSION} && \
43+
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@${GRPC_GATEWAY_VERSION} && \
44+
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@${GRPC_GATEWAY_VERSION} && \
3745
go install github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@${OAPI_VERSION} && \
3846
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@${GOLANGCI_LINT_VERSION} && \
3947
if [ -d "/go/bin/linux_${TARGETARCH}" ]; then \
@@ -44,7 +52,8 @@ RUN --mount=type=cache,target=/go/pkg/mod \
4452
# ==============================================================================
4553
# Stage 2: Development Environment
4654
# ==============================================================================
47-
FROM ubuntu:${UBUNTU_VERSION}
55+
FROM debian:${DEBIAN_VERSION}
56+
# FROM dhi.io/debian-base:${DEBIAN_VERSION}
4857

4958
ARG TARGETARCH
5059

@@ -58,19 +67,23 @@ RUN --mount=type=cache,target=/var/cache/apt/archives,id=apt-archives-${TARGETAR
5867
wget \
5968
unzip \
6069
ca-certificates \
61-
openjdk-17-jdk-headless \
70+
openjdk-25-jdk-headless \
6271
maven \
6372
jq \
6473
python3 \
6574
python3-pip \
6675
protobuf-compiler \
6776
libprotobuf-dev \
77+
gnupg lsb-release \
78+
locales \
79+
&& localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 \
6880
&& rm -rf /var/lib/apt/lists/*
6981

7082
# ------------------------------------------------------------------------------
7183
# Flyway
7284
# ------------------------------------------------------------------------------
73-
ENV FLYWAY_VERSION=9.9.0
85+
ENV FLYWAY_VERSION=9.9.0 \
86+
JAVA_ARGS="--enable-native-access=ALL-UNNAMED"
7487

7588
RUN curl -L -o flyway.tar.gz https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${FLYWAY_VERSION}/flyway-commandline-${FLYWAY_VERSION}-linux-x64.tar.gz \
7689
&& tar -xzf flyway.tar.gz \
@@ -83,6 +96,7 @@ RUN curl -L -o flyway.tar.gz https://repo1.maven.org/maven2/org/flywaydb/flyway-
8396
# OpenAPI Generator CLI
8497
# ------------------------------------------------------------------------------
8598
ENV OPENAPI_GENERATOR_VERSION=7.17.0
99+
86100
RUN curl -fsSL https://raw.githubusercontent.com/OpenAPITools/openapi-generator/"v${OPENAPI_GENERATOR_VERSION}"/bin/utils/openapi-generator-cli.sh -o /usr/local/bin/openapi-generator-cli \
87101
&& chmod +x /usr/local/bin/openapi-generator-cli
88102

@@ -95,16 +109,38 @@ ENV PATH=/root/.local/bin:$PATH
95109
# ------------------------------------------------------------------------------
96110
# Node.js Tools (pnpm, rulesync など)
97111
# ------------------------------------------------------------------------------
112+
ENV NPM_VERSION=11.7.0 \
113+
PNPM_VERSION=10.26.2 \
114+
RULESYNC_VERSION=4.3.1 \
115+
CONTEXT7_VERSION=2.0.0
116+
98117
RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - \
99118
&& apt-get install -y nodejs
100119

101120
RUN --mount=type=cache,target=/root/.npm \
102-
npm install -g npm@latest --force && \
103-
npm install -g pnpm && \
104-
npm install -g rulesync && \
105-
npm install -g @upstash/context7-mcp && \
121+
npm install -g "npm@${NPM_VERSION}" --force && \
122+
npm install -g "pnpm@${PNPM_VERSION}" && \
123+
npm install -g "rulesync@${RULESYNC_VERSION}" && \
124+
npm install -g "@upstash/context7-mcp@${CONTEXT7_VERSION}" && \
106125
npm cache clean --force
107126

127+
# ------------------------------------------------------------------------------
128+
# Docker
129+
# ------------------------------------------------------------------------------
130+
RUN for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt-get remove -y $pkg; done \
131+
&& apt autoremove -y
132+
RUN install -m 0755 -d /etc/apt/keyrings \
133+
&& curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \
134+
&& chmod a+r /etc/apt/keyrings/docker.asc \
135+
&& printf "Types: deb\n\
136+
URIs: https://download.docker.com/linux/debian\n\
137+
Suites: %s\n\
138+
Components: stable\n\
139+
Signed-By: /etc/apt/keyrings/docker.asc\n" "$(. /etc/os-release && echo "$VERSION_CODENAME")" > /etc/apt/sources.list.d/docker.sources \
140+
&& apt-get update \
141+
&& apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin \
142+
&& rm -rf /var/lib/apt/lists/*
143+
108144
# ------------------------------------------------------------------------------
109145
# AWS CLI v2
110146
# ------------------------------------------------------------------------------
@@ -134,8 +170,10 @@ ENV CLAUDE_CODE_USE_BEDROCK=false \
134170
# ------------------------------------------------------------------------------
135171
ENV GOOGLE_CLOUD_LOCATION=global \
136172
GOOGLE_GENAI_USE_VERTEXAI=true \
137-
GEMINI_MODEL="gemini-2.5-flash"
138-
RUN npm install -g @google/gemini-cli
173+
GEMINI_MODEL="gemini-3-flash-preview" \
174+
GEMINI_CLI_VERSION=0.22.5
175+
176+
RUN npm install -g "@google/gemini-cli@${GEMINI_CLI_VERSION}"
139177

140178
# ------------------------------------------------------------------------------
141179
# Go

0 commit comments

Comments
 (0)