From 600e65468c3f5db98aeec71065a96ad0684de2ee Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Tue, 13 Oct 2026 14:15:35 +0000 Subject: [PATCH] chore: remove httpbin template and its CI/CD The template moved to e2b-dev/customer-starter-templates. Co-Authored-By: mish@e2b.dev --- .github/actions/build-cli/action.yml | 44 --------------------------- .github/workflows/templates.yml | 32 ------------------- packages/js-sdk/tests/template.ts | 3 +- packages/python-sdk/tests/conftest.py | 3 +- templates/httpbin/e2b.Dockerfile | 32 ------------------- 5 files changed, 4 insertions(+), 110 deletions(-) delete mode 100644 .github/actions/build-cli/action.yml delete mode 100644 .github/workflows/templates.yml delete mode 100644 templates/httpbin/e2b.Dockerfile diff --git a/.github/actions/build-cli/action.yml b/.github/actions/build-cli/action.yml deleted file mode 100644 index 39a4e2cce4..0000000000 --- a/.github/actions/build-cli/action.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: 'Build and install E2B CLI' -description: >- - Builds the e2b CLI from source in this repo and installs it globally so the - `e2b` command is available on PATH. Assumes the repository has already been - checked out. - -runs: - using: 'composite' - steps: - - name: Parse .tool-versions - uses: wistia/parse-tool-versions@32f568a4ffd4bfa7720ebf93f171597d1ebc979a # v2.1.1 - with: - filename: '.tool-versions' - uppercase: 'true' - prefix: 'tool_version_' - - - name: Install pnpm - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0 - with: - version: '${{ env.TOOL_VERSION_PNPM }}' - - - name: Setup Node - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 - with: - node-version: '${{ env.TOOL_VERSION_NODEJS }}' - cache: pnpm - cache-dependency-path: pnpm-lock.yaml - - - name: Install dependencies - shell: bash - run: pnpm install --frozen-lockfile - - - name: Build the CLI - shell: bash - run: pnpm build - working-directory: ./packages/cli - - # `pnpm link`, not `npm install -g`: npm cannot resolve the `workspace:^` range - # the CLI declares for `e2b`. It only gets away with it today because npm - # symlinks a local directory without resolving its dependencies at all. - - name: Install the CLI globally - shell: bash - run: pnpm link --global - working-directory: ./packages/cli diff --git a/.github/workflows/templates.yml b/.github/workflows/templates.yml deleted file mode 100644 index 8de2c558fc..0000000000 --- a/.github/workflows/templates.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Build and push prepared templates - -on: - workflow_dispatch: - -permissions: - contents: read - -jobs: - buildTemplate: - name: Build and Publish E2B Template - runs-on: ubuntu-22.04 - steps: - - name: Checkout repository - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0 - - - name: Build and install E2B CLI - uses: ./.github/actions/build-cli - - # Sidecar the network transform tests spawn as a publicly reachable echo - # server. Stays private to the E2B team — the tests that use it need our - # API key anyway. The ready command doubles as the build-time smoke test: - # the build only finishes once go-httpbin answers on the port the tests - # connect to. - - name: Build httpbin template - working-directory: ./templates/httpbin - env: - E2B_API_KEY: ${{ secrets.E2B_API_KEY }} - run: | - e2b template create httpbin --memory-mb 512 \ - --cmd 'go-httpbin -host 0.0.0.0 -port 8080' \ - --ready-cmd 'curl -fsS http://localhost:8080/status/200 > /dev/null' diff --git a/packages/js-sdk/tests/template.ts b/packages/js-sdk/tests/template.ts index ad338d9afa..c5aaca1bc6 100644 --- a/packages/js-sdk/tests/template.ts +++ b/packages/js-sdk/tests/template.ts @@ -2,6 +2,7 @@ export const template = 'base' /** * Template that serves go-httpbin on port 8080, used as a sidecar by tests - * that need a publicly reachable echo server — see `templates/httpbin`. + * that need a publicly reachable echo server — see `templates/httpbin` in + * e2b-dev/customer-starter-templates. */ export const httpbinTemplate = 'httpbin' diff --git a/packages/python-sdk/tests/conftest.py b/packages/python-sdk/tests/conftest.py index 9847f460e7..b271c2246c 100644 --- a/packages/python-sdk/tests/conftest.py +++ b/packages/python-sdk/tests/conftest.py @@ -60,7 +60,8 @@ def template(): @pytest.fixture() def httpbin_template(): - """Template that serves go-httpbin on port 8080 — see `templates/httpbin`. + """Template that serves go-httpbin on port 8080 — see `templates/httpbin` in + e2b-dev/customer-starter-templates. Used as a sidecar by tests that need a publicly reachable echo server. """ diff --git a/templates/httpbin/e2b.Dockerfile b/templates/httpbin/e2b.Dockerfile deleted file mode 100644 index cbf0871454..0000000000 --- a/templates/httpbin/e2b.Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -# Sidecar template for the SDK network tests, built as `httpbin`. -# -# Firewall transforms are applied by the egress proxy on the way *out* of a -# sandbox, so asserting them end-to-end needs a request that leaves for a -# publicly reachable host which echoes back what it received. A sandbox started -# from this template is that host, which keeps the tests off any externally -# hosted service. -# -# go-httpbin is the maintained Go port of the original httpbin, shipped as a -# single static binary. -FROM debian:bookworm-slim - -ENV GO_HTTPBIN_VERSION=2.25.0 - -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends \ - ca-certificates curl && \ - rm -rf /var/lib/apt/lists/* - -RUN set -eux; \ - case "$(dpkg --print-architecture)" in \ - amd64) arch='amd64'; sha256='8ba077dbc2fd86dcd4acde8b17ca7d22763c3bff1e6117fc975a3f66cf8ebcb2';; \ - arm64) arch='arm64'; sha256='3becba58a8484b57885b3b99231618f82dfd29acbb5d2c021bd61100d8d3363f';; \ - *) echo "unsupported architecture"; exit 1;; \ - esac; \ - archive="go-httpbin-linux-${arch}.tar.gz"; \ - curl -fsSLO "https://github.com/mccutchen/go-httpbin/releases/download/v${GO_HTTPBIN_VERSION}/${archive}"; \ - echo "${sha256} ${archive}" | sha256sum -c -; \ - tar -xzf "${archive}" -C /usr/local/bin go-httpbin; \ - rm "${archive}" - -# The server itself is smoke-tested by the template's ready command, which has -# to exit 0 before the build finishes — see .github/workflows/templates.yml.