-
-
Notifications
You must be signed in to change notification settings - Fork 204
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(#8909): add CI jobs that run integration tests over a CHT launched in a K3D cluster #8978
Conversation
Hi @nydr . It would be great to get some feedback on this, if you have the bandwidth. Thanks a lot! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is so cool! I was able to run the suite locally without much effort and I see a lot of potential here 😃
Am I correct in assuming a 30 minute extra build step is acceptable from a cost perspective?
I'm a bit concerned with the amount of potential false failures with flaky tests, if it becomes a big issue it might be worth considering skipping those by default in this suite.
Mostly minor comments, approving to unblock as I think it's good to merge as is. Overall impressive work!
Hi @nydr |
That would make sense, looks like it should be something like |
# Conflicts: # tests/utils/index.js
…tely after restarting sentinel to know when due tasks has been completed
# Conflicts: # tests/utils/index.js
I pushed a bunch of changes trying to stabilize and unify how the two systems work together. @nydr would you mind having a look? |
# Conflicts: # tests/utils/index.js
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM assuming the test failures are due to flaky tests
As a sidenote, would it make sense to tag all flaky tests and run those as a separate step to speed up retries and highlight the tests with issues? I think they're quite disruptive but out of scope for this PR
'tests/integration/!(cht-conf|sentinel)/**/*.spec.js', // run everything except the sentinel tests - those are tested in .mocharc-sentinel.js | ||
'tests/integration/cht-conf/**/*.spec.js', // Executing last to not side-effect sentinel tests. | ||
], | ||
spec: require('./specs').all, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this format
tests/utils/index.js
Outdated
* Watch expires after 10 seconds. | ||
* @param {String} container - name of the container to watch | ||
* @param {Boolean} tail - check logs with or without tailing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor: I find this a bit confusing, I think it's ok to just describe what true does and then false is implied to be the inverse. Should it contain something like "always true for docker"? I generally don't like adding implementation details in docstrings, but I think it would be good to highlight that there's an override somehow
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't like this either.
The k3d container takes a longer time to start - compared to docker - and logs are cleared when the container starts. If I start watching logs before the container is up, in k3d I get an error. If I add a wait and retry, and the operation I'm waiting for happens immediately after container startup (this is the case), I could start watching the logs after the action had happened (this is also the case).
I'll add more info for the parameter.
I don't believe they are just flakes. I'm fixing them. It's been a journey.... |
Description
Adds two CI jobs to run integration tests over K3D architecture, using specific helm charts and local-path for persistent storage.
#8909
Code review checklist
Compose URLs
If Build CI hasn't passed, these may 404:
License
The software is provided under AGPL-3.0. Contributions to this project are accepted under the same license.