Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ci): run integration tests in parallel #22205

Merged
merged 13 commits into from
Jan 15, 2025
Merged

Conversation

pront
Copy link
Member

@pront pront commented Jan 14, 2025

Summary

The IT suite is the longest running check in the merge queue. This PR splits the IT suite in several jobs that run in parallel.

Note: The jobs still build Vector individually. I will follow-up so that we build Vector once and then we re-use the binary across the suite.

Change Type

  • Bug fix
  • New feature
  • Non-functional (chore, refactoring, docs)
  • Performance

Is this a breaking change?

  • Yes
  • No

How did you test this PR?

Does this PR include user facing changes?

  • Yes. Please add a changelog fragment based on our guidelines.
  • No. A maintainer will apply the "no-changelog" label to this PR.

Checklist

  • Please read our Vector contributor resources.
    • make check-all is a good command to run locally. This check is
      defined here. Some of these
      checks might not be relevant to your PR. For Rust changes, at the very least you should run:
      • cargo fmt --all
      • cargo clippy --workspace --all-targets -- -D warnings
      • cargo nextest run --workspace (alternatively, you can run cargo test --all)
  • If this PR introduces changes Vector dependencies (modifies Cargo.lock), please
    run dd-rust-license-tool write to regenerate the license inventory and commit the changes (if any). More details here.

References

@pront pront force-pushed the pront/feat-parallel-it-suite branch 2 times, most recently from ca24143 to 4d6d2f2 Compare January 14, 2025 20:52
@datadog-vectordotdev
Copy link

datadog-vectordotdev bot commented Jan 14, 2025

Datadog Report

Branch report: pront/feat-parallel-it-suite
Commit report: 2394da7
Test service: vector

✅ 0 Failed, 7 Passed, 0 Skipped, 25.43s Total Time

@pront pront force-pushed the pront/feat-parallel-it-suite branch from 4d6d2f2 to 1a05c38 Compare January 14, 2025 21:45
@github-actions github-actions bot added the domain: sinks Anything related to the Vector's sinks label Jan 14, 2025
@pront pront added the no-changelog Changes in this PR do not need user-facing explanations in the release changelog label Jan 15, 2025
@pront pront force-pushed the pront/feat-parallel-it-suite branch from 3c619a2 to 5d660fe Compare January 15, 2025 17:54
@github-actions github-actions bot added domain: releasing Anything related to releasing Vector domain: external docs Anything related to Vector's external, public documentation domain: core Anything related to core crates i.e. vector-core, core-common, etc domain: vdev Anything related to the vdev tooling labels Jan 15, 2025
@pront pront force-pushed the pront/feat-parallel-it-suite branch from d57968a to 5a5ef92 Compare January 15, 2025 18:14
@github-actions github-actions bot removed domain: releasing Anything related to releasing Vector domain: external docs Anything related to Vector's external, public documentation domain: core Anything related to core crates i.e. vector-core, core-common, etc domain: vdev Anything related to the vdev tooling labels Jan 15, 2025
@pront pront marked this pull request as ready for review January 15, 2025 18:33
@pront pront requested a review from a team as a code owner January 15, 2025 18:33
@@ -569,4 +569,5 @@ async fn override_global_options() {
assert!(keys
.iter()
.all(|value| value.to_str().unwrap() == "local-key"));
// test
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: remove

Added to demonstrate ITs run: https://github.com/vectordotdev/vector/actions/runs/12794660202

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pront pront requested review from bfung and jszwedko January 15, 2025 18:37
@github-actions github-actions bot removed the domain: sinks Anything related to the Vector's sinks label Jan 15, 2025
Copy link
Contributor

@bfung bfung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small comment, non-blocking spelling nit.

.github/workflows/integration.yml Outdated Show resolved Hide resolved
Copy link
Contributor

@bfung bfung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Member

@jszwedko jszwedko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I'm excited to see this change to cut the long pole of the merge queue. It'll be nice to get feedback on each integration test separately too rather than it aborting on the first one.


- run: docker image prune -af --filter=label!=vector-test-runner=true ; docker container prune -f
- run: docker image prune -af ; docker container prune -f
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may not be necessary if these are run in parallel rather than sequentially. We had to do this cleaning when running sequentially since disk space would slowly be eaten up by successive runs.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, I will keep an eye out for disk space errors. But I also think it can be removed now.

.github/workflows/integration.yml Show resolved Hide resolved
@pront pront enabled auto-merge January 15, 2025 22:01
@pront pront added this pull request to the merge queue Jan 15, 2025
@pront pront changed the title feat(ci): run ITs in parallel feat(ci): run integration tests in parallel Jan 15, 2025
Merged via the queue into master with commit d599ec0 Jan 15, 2025
89 checks passed
@pront pront deleted the pront/feat-parallel-it-suite branch January 15, 2025 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-changelog Changes in this PR do not need user-facing explanations in the release changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants