-
Notifications
You must be signed in to change notification settings - Fork 148
ci: adding nightly integration tests #3201
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
Conversation
73cb865 to
023ce91
Compare
|
I am trying to think of a good solution to run multiple nighly integration tests where a specific scenario is supported by a differing range of versions. For example, multitenancy is supported for version 8.3+, and oidc is supported for version 8.5+ This creates a "version vs. scenario" compatibility puzzle.
The downside to this is that we have a lot of matrix files and we have to hardcode the versions, since they are different for each scenario. The benefit is that it makes running these matrix files very easy.
Here is what the if conditions in the workflow would look like: The downside is that the if conditions are going to get very messy with more scenarios. The upside is that the versions won't be hardcoded, and there is only one matrix file. Overall, I am in favor of the first option. Even though there are going to be more matrix files, at least the workflow file will be easier to maintain. |
0b118d4 to
96b6732
Compare
fc4b642 to
72dc37f
Compare
|
Generally looks good.. A question I'm left with is, these look very similar to the standard test workflows. Is there some refactoring work that could/should be done in another ticket to reuse some of the code? |
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've left a couple of comments.
Also, please use the team convention for comments and style.
I will make another review once the comments are addressed so it's easier to review.
charts/camunda-platform-8.3/test/integration/scenarios/extra-scenarios/multitenancy.yaml
Outdated
Show resolved
Hide resolved
| packages: zeebe zeebe-gateway | ||
| - name: WebModeler | ||
| packages: web-modeler | ||
|
|
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.
No need to make anything for versions that reached the end of the standard support (8.2, 8.3).
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.
Ah okay, Nice!
So that means I would need an if statement in my generate matrix workflow to not pick up versions 8.3 and below 🤔
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.
Or maybe modify the ls command to list out versions after 8.3
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 working but it's not that pretty:
ls -d camunda-platform-8.* | sort -V | awk -F'-' '$3 > 8.3'
I guess I can include it and write a comment above explaining what it does
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.
done
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.
Nice way to make it, but let's make it as an env var at the workflow top-level (later we can make it a file), just to avoid forgetting it in the future.
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 created the env var and and added the min supported version as an input so it is mentioned at the top level workflow.
69de5da to
7fcccaa
Compare
aabouzaid
left a comment
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.
Nice work @hamza-m-masood 👏
I left some tiny comments, but I approve to merge after fixing them 🙌
397eee9 to
f83f147
Compare
|
I rebased |
f83f147 to
b5478d5
Compare
|
locally squashed all commits |
Which problem does the PR fix?
closes: https://github.com/camunda/team-distribution/issues/390
What's in this PR?
Adding nightly integration tests so the multitenancy scenario can run.
This workflow does the following steps:
ci-test-config.yaml. This file is included in each Helm chart foldertest-chart-version-nightly.yaml. This workflow callstest-chart-version-nightly-template.yamlfor each version.test-chart-version-nightly.yamlloops through all the scenarios of a specific version and callstest-integration-template.yamlto run all enabled scenarios for each version.The values.yaml files for each scenario is in the same folder as the default values.yaml used for our integration testing.
This is an example of a successful run:
https://github.com/camunda/camunda-platform-helm/actions/runs/14607701741
Checklist
Please make sure to follow our Contributing Guide.
Before opening the PR:
make go.update-golden-only.After opening the PR: