chore(dev): retire the unused Docker dev environment (#25429)
* chore(makefile): kill ENVIRONMENT=true Docker dev shell wiring
Strips the `make environment` / `ENVIRONMENT=true` Docker/Podman dev
shell wiring: ENVIRONMENT_* variables, MAYBE_ENVIRONMENT_EXEC /
MAYBE_ENVIRONMENT_COPY_ARTIFACTS macros, ENVIRONMENT_EXEC /
ENVIRONMENT_PREPARE blocks, the `environment`, `environment-prepare`,
`environment-clean`, `environment-push` targets, and the
${MAYBE_ENVIRONMENT_EXEC} prefix on every build/test/bench/check recipe.
Also drops the dead `build-graphql-schema` target: no `graphql-schema`
binary exists in the workspace.
The VDEV macro uses `?=` so a caller-supplied VDEV (e.g. the pinned
prebuilt binary path exported by .github/actions/setup) wins over the
local `cargo vdev` default, avoiding a vdev source recompile per recipe.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(ci): drop Environment Suite workflow
Removes .github/workflows/environment.yml (the weekly cron and
workflow_dispatch that built and pushed timberio/vector-dev:latest to
Docker Hub) and the /ci-run-environment review-trigger wiring in
ci-review-trigger.yml.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(internal docs): drop Docker dev environment section
Removes the "Using a Docker or Podman environment" walkthrough and the
remaining `ENVIRONMENT=true` / `make environment-generate` / `build-dev`
mentions from docs/DEVELOPING.md, matching the Makefile cleanup.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(dev): drop dev environment Dockerfile, entrypoint, and Ubuntu bootstrap
Deletes scripts/environment/Dockerfile and scripts/environment/entrypoint.sh,
which only existed to build the timberio/vector-dev:latest image used by
`make environment` and the Environment Suite workflow (both removed in
this PR).
Also deletes scripts/environment/bootstrap-ubuntu-24.04.sh. Its callers
in .github/workflows/publish.yml and vdev_publish.yml were removed in
d1524c480a (Apr 2026), leaving only the deleted Dockerfile as a caller;
with that gone the script has no live consumers in the tree. The
remaining environment scripts (`prepare.sh`, `binstall.sh`,
`install-protoc.sh`, the macOS/Windows bootstraps) stay; they are still
consumed by CI, cross/e2e/regression/tilt Dockerfiles, and the install
docs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(rfc): archive dev-workflow RFC 2685
The Docker/Podman dev environment this RFC proposed is no longer
maintained; this PR removes the last of its wiring. Marks the RFC as
archived and points readers to CONTRIBUTING.md and docs/DEVELOPING.md
for current instructions.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(internal docs): point contributors at prepare.sh for tooling
Adds a tooling-shortcut note in docs/DEVELOPING.md showing
`bash scripts/environment/prepare.sh` as the one-shot way to install
the Rust and npm tooling that the bullet list otherwise enumerates
manually. Same script CI uses, so what contributors get locally
matches what CI installs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(dev): drop orphaned setup-helm.sh
scripts/environment/setup-helm.sh has had no consumers in the tree
since 2022, when nightly.yml / release.yml / CODEOWNERS stopped
referencing it. Only the now-deleted scripts/environment/Dockerfile
kept it alive. Its pins (kubectl v1.18.6, helm v3.2.4, kubeval) are
~5 years old; current Vector k8s e2e drives a separate minikube setup
via scripts/test-e2e-kubernetes.sh.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* enhancement(dev): make prepare.sh safer on workstations
prepare.sh is primarily a CI bootstrap, but docs/DEVELOPING.md now
points contributors at it as the one-shot install. This adds three
CI-gated guards so running the script on a personal laptop is less
surprising. Each guard preserves the existing CI behavior; the
differences only apply when `CI` is unset.
1. `git config --global --add safe.directory "$(pwd)"` is skipped
outside CI. Contributors own their checkouts and do not hit git's
dubious-ownership error, so the global config write is avoided.
2. The version-pin check no longer downgrades cargo tools the user has
already installed at a newer version. CI starts from nothing and
keeps installing the exact pin; on workstations, a newer-than-pin
version is kept and the script prints a notice. `CI=1` forces the
pin if a contributor wants it.
3. The npm tool symlinks into the global npm bin dir are skipped
outside CI. Avoids `sudo ln -sf` into /usr/local/bin (or equivalent)
without the user opting in. To keep the make-driven workflow working
without any contributor PATH edits, the Makefile prepends
scripts/environment/npm-tools/node_modules/.bin to PATH so vdev's
bare-name spawns of `markdownlint-cli2` and `prettier` resolve from
the project-local install.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> P
Pavlos Rontidis committed
e1772733754c4d069928169675791b2a484375a2
Parent: 989f2ae
Committed by GitHub <noreply@github.com>
on 5/14/2026, 2:28:23 PM