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

ROX-18679: containerize integration tests #1357

Merged
merged 33 commits into from
Oct 31, 2023

Conversation

Stringy
Copy link
Collaborator

@Stringy Stringy commented Oct 5, 2023

Description

Containerize the integration tests, to bundle common dependencies and files. Now that we're running on the test host, containerizing the tests will make it easier to create test bundles and traceable artifacts for each build/test run.

Checklist

  • Investigated and inspected CI test results
  • Updated documentation accordingly

Automated testing

  • Added unit tests
  • Added integration tests
  • Added regression tests

If any of these don't apply, please comment below.

Testing Performed

Images built locally, but relying on CI for additional testing of multi-arch builds and end-to-end use of the resulting images.

@openshift-ci
Copy link

openshift-ci bot commented Oct 5, 2023

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@github-actions
Copy link

github-actions bot commented Oct 5, 2023

Kernel Method Without Collector Time (secs) With Collector Time (secs) Baseline median (secs) Collector median (secs) PValue

@Stringy Stringy force-pushed the giles/ROX-15295-containerize-integration-tests branch from 6a48d14 to 9129aef Compare October 6, 2023 10:46
@Stringy Stringy force-pushed the giles/ROX-15295-containerize-integration-tests branch 3 times, most recently from 7d1f1a8 to a5bea14 Compare October 10, 2023 13:37
@Stringy Stringy marked this pull request as ready for review October 10, 2023 13:51
@Stringy Stringy requested a review from a team as a code owner October 10, 2023 13:51
Makefile-constants.mk Outdated Show resolved Hide resolved
@Stringy Stringy force-pushed the giles/ROX-15295-containerize-integration-tests branch from 553ca12 to 3b2e835 Compare October 19, 2023 11:51
Copy link
Collaborator

@Molter73 Molter73 left a comment

Choose a reason for hiding this comment

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

Looks good! This should save as some headaches!

.github/workflows/collector-builder.yml Outdated Show resolved Hide resolved
.github/workflows/benchmarks.yml Outdated Show resolved Hide resolved
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-integration-tests') }}
# Temporarily disable benchmarks due to baseline calculation
# inconsistencies. This will be fixed and re-enabled in the future.
if: false # ${{ !contains(github.event.pull_request.labels.*.name, 'skip-integration-tests') }}
Copy link
Collaborator

Choose a reason for hiding this comment

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

This could probably be done in a separate PR, it'd be merged much faster I'd assume.

integration-tests/Dockerfile Outdated Show resolved Hide resolved
integration-tests/Makefile Outdated Show resolved Hide resolved
@JoukoVirtanen
Copy link
Contributor

Running integration tests locally worked for me

make ci-integration-tests COLLECTOR_TAG=3.16.x-82-gf1e4d3ca19

make -C integration-tests TestConnectionsAndEndpointsUDPNoFork  COLLECTOR_TAG=3.16.x-82-gf1e4d3ca19

TestRepeatedNetworkFlow failed, but it always fails for me.

@Stringy Stringy requested a review from Molter73 October 20, 2023 08:54
@Stringy Stringy force-pushed the giles/ROX-15295-containerize-integration-tests branch from 85565fe to ae6e3b1 Compare October 20, 2023 10:40
Copy link
Contributor

@erthalion erthalion left a comment

Choose a reason for hiding this comment

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

Looks good to me. One minor question due to my lack of golang details -- I see that the original version was building the test binary specifying GOARCH & GOOS, and now we don't do that. Does it impact anything?

@Stringy
Copy link
Collaborator Author

Stringy commented Oct 30, 2023

the test binary specifying GOARCH & GOOS, and now we don't do that

Since we're using buildx to build multi-arch images, all of this is handled by Go implicitly, at least in the sense that it's building a 'native' binary for each platform (via qemu)

@Stringy Stringy merged commit 718813c into master Oct 31, 2023
43 checks passed
@Stringy Stringy deleted the giles/ROX-15295-containerize-integration-tests branch October 31, 2023 10:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants