vectordotdev / vectordotdev/vector

Automate periodic bumping of pinned versions in integration/e2e test matrices

Open
#25,793 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
22.6k
Forks
2.3k
Avg merge
1d 7h
Merged PRs (30d)
146

Description

Use Cases

Several integration/e2e test.yaml configs pin third-party dependency versions (e.g. tests/e2e/datadog-metrics/config/test.yaml's agent_version matrix) to avoid floating tags like latest silently picking up upstream breaking changes (see #25790, where an unpinned latest Datadog Agent tag broke datadog-metrics e2e tests when the Agent changed its default metrics intake API).

Pinning avoids the surprise breakage, but pinned versions go stale and don't get periodically revisited, so we lose test coverage against current upstream releases over time unless someone manually notices and bumps them.

Attempted Solutions

Currently version pinning/bumping across these matrices is manual and ad hoc, done reactively after a CI break (as in #25790) rather than on a schedule.

Proposal

Add automation that periodically checks pinned dependency versions used in test matrices (e.g. agent_version in tests/e2e/datadog-metrics/config/test.yaml, and similar matrix entries in other test.yaml files under tests/integration/** and tests/e2e/**), and opens a PR bumping them to the latest available version so CI can surface whether the bump passes or fails.

For this to be generic rather than per-test bespoke logic, the test.yaml config format could be extended to declare the Docker Hub (or other registry) image base associated with each pinned matrix value, so the automation can resolve current tags without hardcoding per-integration knowledge.

References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with tests/e2e/datadog-metrics/config/test.yaml and compare matrix entries in tests/integration/** and tests/e2e/**; read #25790 and the referenced pull request for context. Done means scheduled automation discovers current registry versions, opens bump PRs, and CI can validate whether each update passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, yaml
Domain
ci-cd, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.