Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/build-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
options:
- ''
- base
- bun
- node
- go
- rust
Expand Down Expand Up @@ -43,6 +44,13 @@ jobs:
key: base
tag: "latest"
languages: "python,javascript"
# Bun
- repo: dev-bun
key: bun
tag: "1.3"
bun: "true"
bun_version: "1.3.9"
languages: ""
# Node (Node + Python)
- repo: dev-node
key: node
Expand Down Expand Up @@ -100,6 +108,8 @@ jobs:
- repo: dev-full
key: full
tag: "latest"
bun: "true"
bun_version: "1.3.9"
go: "true"
go_version: "1.23.4"
rust: "true"
Expand Down Expand Up @@ -137,13 +147,15 @@ jobs:
platforms: linux/amd64
tags: warpdotdev/${{ matrix.repo }}:${{ inputs.tag || matrix.tag }}
build-args: |
INSTALL_BUN=${{ matrix.bun || 'false' }}
INSTALL_RUST=${{ matrix.rust || 'false' }}
INSTALL_GO=${{ matrix.go || 'false' }}
INSTALL_JAVA=${{ matrix.java || 'false' }}
INSTALL_DOTNET=${{ matrix.dotnet || 'false' }}
INSTALL_RUBY=${{ matrix.ruby || 'false' }}
INSTALL_BROWSERS=${{ matrix.browsers || 'false' }}
INSTALL_CODING_AGENTS=false
BUN_VERSION=${{ matrix.key == 'bun' && inputs.version || matrix.bun_version || '1.3.9' }}
NODE_VERSION=${{ matrix.key == 'node' && inputs.version || matrix.node_version || '24.0.0' }}
GO_VERSION=${{ matrix.key == 'go' && inputs.version || matrix.go_version || '1.23.4' }}
RUST_VERSION=${{ matrix.key == 'rust' && inputs.version || matrix.rust_version || '1.85.0' }}
Expand All @@ -164,13 +176,15 @@ jobs:
platforms: linux/amd64
tags: warpdotdev/${{ matrix.repo }}:${{ inputs.tag || matrix.tag }}-agents
build-args: |
INSTALL_BUN=${{ matrix.bun || 'false' }}
INSTALL_RUST=${{ matrix.rust || 'false' }}
INSTALL_GO=${{ matrix.go || 'false' }}
INSTALL_JAVA=${{ matrix.java || 'false' }}
INSTALL_DOTNET=${{ matrix.dotnet || 'false' }}
INSTALL_RUBY=${{ matrix.ruby || 'false' }}
INSTALL_BROWSERS=${{ matrix.browsers || 'false' }}
INSTALL_CODING_AGENTS=true
BUN_VERSION=${{ matrix.key == 'bun' && inputs.version || matrix.bun_version || '1.3.9' }}
NODE_VERSION=${{ matrix.key == 'node' && inputs.version || matrix.node_version || '24.0.0' }}
GO_VERSION=${{ matrix.key == 'go' && inputs.version || matrix.go_version || '1.23.4' }}
RUST_VERSION=${{ matrix.key == 'rust' && inputs.version || matrix.rust_version || '1.85.0' }}
Expand Down
19 changes: 19 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ FROM ubuntu:latest
# VERSION CONFIGURATION
# =============================================================================
ARG NODE_VERSION=24.0.0
ARG BUN_VERSION=1.3.9
ARG GO_VERSION=1.23.4
ARG RUST_VERSION=1.83.0
ARG JAVA_VERSION=21
Expand All @@ -13,6 +14,7 @@ ARG RUBY_VERSION=3.3
# =============================================================================
# INSTALL FLAGS
# =============================================================================
ARG INSTALL_BUN=false
ARG INSTALL_RUST=false
ARG INSTALL_GO=false
ARG INSTALL_JAVA=false
Expand Down Expand Up @@ -50,6 +52,23 @@ RUN apt-get update && apt-get install -y \
rm -rf /var/lib/apt/lists/* && \
python --version

# Bun
RUN if [ "$INSTALL_BUN" = "true" ]; then \
apt-get update && apt-get install -y unzip && \
rm -rf /var/lib/apt/lists/* && \
dpkgArch="$(dpkg --print-architecture)"; \
case "${dpkgArch##*-}" in \
amd64) ARCH='x64';; \
arm64) ARCH='aarch64';; \
esac; \
curl --proto '=https' --tlsv1.2 -fsSLO "https://github.com/oven-sh/bun/releases/download/bun-v${BUN_VERSION}/bun-linux-$ARCH.zip" && \
unzip bun-linux-$ARCH.zip -d /tmp/bun && \
mv /tmp/bun/bun-linux-$ARCH/bun /usr/local/bin/bun && \
chmod +x /usr/local/bin/bun && \
rm -rf bun-linux-$ARCH.zip /tmp/bun && \
bun --version ; \
fi

# Rust
RUN if [ "$INSTALL_RUST" = "true" ]; then \
echo 'export RUSTUP_HOME=/usr/local/rustup' >> /etc/profile.d/rust.sh && \
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ runtimes. Each image is published in two variants:
| Image | Tag | Contents |
|-------|-----|----------|
| **warpdotdev/dev-base** | `latest` / `latest-agents` | Node 22 + Python 3 |
| **warpdotdev/dev-bun** | `1.3` / `1.3-agents` | Bun 1.3.9 + base |
| **warpdotdev/dev-go** | `1.23` / `1.23-agents` | Go 1.23.4 + base |
| **warpdotdev/dev-rust** | `1.83` / `1.83-agents` | Rust 1.83.0 + base |
| **warpdotdev/dev-rust** | `1.85` / `1.85-agents` | Rust 1.85.0 + base |
Expand Down