vectordotdev / vectordotdev/vector
Automate periodic bumping of pinned versions in integration/e2e test matrices
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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