Skip to content

Commit 640d0ad

Browse files
feat(image): add bun tooling
Install pinned Bun v1.3.14 alongside Node.js so the runner image provides a JS runtime, package manager, bundler, and test runner out of the box. Adds the BUN_VERSION build arg, a Renovate custom manager keyed to Bun's `bun-v` tag prefix, the `unzip` apt dependency needed to extract the release asset, and README documentation. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 3f97509 commit 640d0ad

4 files changed

Lines changed: 23 additions & 0 deletions

File tree

Containerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ RUN apt-get update \
1818
python3.12 python3.12-dev \
1919
python3.13 python3.13-dev \
2020
skopeo buildah \
21+
unzip \
2122
&& apt-get autoremove -y \
2223
&& apt-get clean \
2324
&& rm -rf /var/lib/apt/lists/*
@@ -115,6 +116,16 @@ RUN curl -sSL -o /tmp/node.tgz \
115116
&& tar -xzf /tmp/node.tgz -C /usr/local --strip-components=1 \
116117
&& rm -f /tmp/node.tgz
117118

119+
# Install Bun (JS runtime, package manager, bundler, test runner)
120+
ARG BUN_VERSION=1.3.14
121+
RUN curl -sSL -o /tmp/bun.zip \
122+
"https://github.com/oven-sh/bun/releases/download/bun-v${BUN_VERSION}/bun-linux-x64.zip" \
123+
&& unzip -q /tmp/bun.zip -d /tmp \
124+
&& mv /tmp/bun-linux-x64/bun /usr/local/bin/bun \
125+
&& chmod +x /usr/local/bin/bun \
126+
&& ln -sf /usr/local/bin/bun /usr/local/bin/bunx \
127+
&& rm -rf /tmp/bun.zip /tmp/bun-linux-x64
128+
118129
# Install pre-commit
119130
# hadolint ignore=DL3013
120131
RUN pip3 install --no-cache-dir pre-commit

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Container image based on the [GitHub Actions Runner](https://github.com/actions/
2525
| [pack](https://github.com/buildpacks/pack) | Cloud Native Buildpacks CLI |
2626
| [skopeo](https://github.com/containers/skopeo) | Container image registry operations |
2727
| [Node.js](https://nodejs.org/) / npm | JavaScript runtime and package manager (npm/npx bundled) |
28+
| [Bun](https://bun.sh/) | JavaScript runtime, package manager, bundler, and test runner |
2829

2930
### Build pipeline tools
3031

@@ -114,6 +115,7 @@ build:
114115
- HADOLINT_VERSION=2.14.0
115116
- YQ_VERSION=4.53.2
116117
- NODE_VERSION=24.16.0
118+
- BUN_VERSION=1.3.14
117119
labels:
118120
- org.opencontainers.image.source=https://github.com/deerhide/python-github-runner
119121
- org.opencontainers.image.description="Python GitHub Runner"

manifest.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ build:
1515
- HADOLINT_VERSION=2.14.0
1616
- YQ_VERSION=4.53.2
1717
- NODE_VERSION=24.16.0
18+
- BUN_VERSION=1.3.14
1819
labels:
1920
- org.opencontainers.image.source=https://github.com/deerhide/python-github-runner
2021
- org.opencontainers.image.description="Python GitHub Runner"

renovate.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,15 @@
9292
"matchStrings": ["NODE_VERSION=(?<currentValue>\\S+)"],
9393
"depNameTemplate": "node",
9494
"datasourceTemplate": "node-version"
95+
},
96+
{
97+
"customType": "regex",
98+
"description": "Update Bun version",
99+
"fileMatch": ["^Containerfile$", "^manifest\\.yaml$"],
100+
"matchStrings": ["BUN_VERSION=(?<currentValue>\\S+)"],
101+
"depNameTemplate": "oven-sh/bun",
102+
"datasourceTemplate": "github-releases",
103+
"extractVersionTemplate": "^bun-v?(?<version>.+)$"
95104
}
96105
]
97106
}

0 commit comments

Comments
 (0)