sha256:bb86efbdeda6370687a746f4a84149e178689ed477ab4146cef008a8b8cbf334
Last pushed
about 1 month by mateuszsjs
Type
Sandbox Kit
Manifest digest
sha256:bb86efbdeda6370687a746f4a84149e178689ed477ab4146cef008a8b8cbf334
schemaVersion: "2"
kind: mixin
name: devtools
displayName: Dev Toolchain
description: Node/TypeScript, Python, and Go toolchain for coding-agent sandboxes.
permissions:
network:
allow:
- registry.npmjs.org
- pypi.org
- files.pythonhosted.org
- proxy.golang.org
- sum.golang.org
- go.dev
- dl.google.com
- storage.googleapis.com
- astral.sh
- github.com
- objects.githubusercontent.com
- ports.ubuntu.com
- archive.ubuntu.com
- security.ubuntu.com
- download.docker.com
environment:
variables:
GO_VERSION: 1.26.5
GOMODCACHE: /home/agent/go/pkg/mod
GOPATH: /home/agent/go
GOTOOLCHAIN: local
PATH: /usr/local/go/bin:/home/agent/go/bin:/home/agent/.local/bin:/usr/local/share/npm-global/bin:/usr/local/bin:/usr/bin:/bin
TZ: Europe/Warsaw
setup:
install:
- command: |
npm config set proxy "$HTTP_PROXY" && npm config set https-proxy "$HTTP_PROXY" && npm install -g --maxsockets=1 --fetch-timeout=600000 typescript tsx pnpm
user: "1000"
description: Install TypeScript, tsx, and pnpm
- command: |
command -v python3 || (apt-get update && apt-get install -y --no-install-recommends
python3 python3-venv python3-pip)
user: "0"
description: Install Python 3 when absent
- command: |
command -v uv || curl --proto '=https' --tlsv1.2 -fsSL https://astral.sh/uv/install.sh | sh
user: "1000"
description: Install uv package manager when absent
- command: |
set -euo pipefail
if command -v go >/dev/null 2>&1 && [ "$(go env GOVERSION)" = "go${GO_VERSION}" ]; then
exit 0
fi
case "$(dpkg --print-architecture)" in
amd64)
GO_ARCH=amd64
GO_SHA256=5c2c3b16caefa1d968a94c1daca04a7ca301a496d9b086e17ad77bb81393f053
;;
arm64)
GO_ARCH=arm64
GO_SHA256=fe4789e92b1f33358680864bbe8704289e7bb5fc207d80623c308935bd696d49
;;
*)
echo "unsupported sandbox architecture: $(dpkg --print-architecture)" >&2
exit 1
;;
esac
GO_TARBALL="go${GO_VERSION}.linux-${GO_ARCH}.tar.gz"
curl --proto '=https' --tlsv1.2 -fsSL \
"https://go.dev/dl/${GO_TARBALL}" -o /tmp/go.tgz
echo "${GO_SHA256} /tmp/go.tgz" | sha256sum -c -
rm -rf /usr/local/go
tar -C /usr/local -xzf /tmp/go.tgz
rm /tmp/go.tgz
/usr/local/go/bin/go version
user: "0"
description: Install pinned Go toolchain