-
Notifications
You must be signed in to change notification settings - Fork 563
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
ci: camunda docker CI #19623
base: main
Are you sure you want to change the base?
ci: camunda docker CI #19623
Conversation
a3c812a
to
b558919
Compare
a6b15ff
to
b91b5c2
Compare
docker-checks: | ||
if: needs.detect-changes.outputs.docker-ci == 'true' | ||
needs: [ detect-changes ] | ||
runs-on: ubuntu-latest |
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.
Please add a timeout-minutes
variable to limit execution time to what is conservatively needed based on observation how long it usually runs.
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.
the first successful run took ~15 minutes https://github.com/camunda/camunda/actions/runs/9664124006/job/26658087425?pr=19623
I will put 25 minutes timeout for now, which is less than the timeout of the concurrent job java-unit-tests
(30 min)
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.
The java-unit-tests
job also doesn't need the 30 minutes, it is closer to 15 the last time I checked.
I also want to keep runtimes low so 15 minutes is already at the upper bound (I put some new guidelines in https://github.com/camunda/camunda/wiki/CI-&-Automation#workflow-inclusion-criteria ) - we have to make sure to not let it grow, otherwise parallelization/caching/bigger runners need to be considered.
cf4559a
to
70066b8
Compare
70066b8
to
ec1c2c8
Compare
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.
Thanks @houssain-barouni I have some questions and comments, lets clarify them first before we move on. We can do this also sync if you like.
@@ -0,0 +1,21 @@ | |||
{ | |||
"io.k8s.description": "Workflow engine for microservice orchestration", |
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 guess these labels are still need to be updated?
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.
right, it is being discussed here #19495 (comment)
if you have any suggestions, please let me know :)
otherwise I will reach out to #ask-devrel
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.
updated some of the labels here 514a4c8
after this discussion https://camunda.slack.com/archives/C026U8GBNSW/p1719493763579659
@@ -0,0 +1,31 @@ | |||
name: Build Frontend |
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.
❓ Didn't we had this already as a workflow or action before? 🤔 Can we use also in other places then?
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.
we have a dedicated one to Tasklist https://github.com/camunda/camunda/blob/main/.github/actions/build-tasklist-fe/action.yml
@pedesen is also currently working on using GHA to build operate frontend #19085. I will get in touch with him to avoid overlapping work
.github/workflows/ci.yml
Outdated
deploy-camunda-docker-snapshot: | ||
name: Deploy snapshot Camunda Docker image | ||
needs: [ detect-changes, check-results ] | ||
runs-on: ubuntu-latest |
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.
❓ 🔧 Could we reuse the image from before and just retag it?
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 am afraid we can't, this is a diffrent Job and can be run by a different worker
the image built in docker-checks
job is pushed to a local registery, that must be killed after the job is completed
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.
We could maybe via caching or using job artifacts I think: https://github.com/camunda/github-actions-recipes#share-data-between-jobs-via-actionsupload-artifact-and-actionsdownload-artifact-usages-in-camunda
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 thanks 🙇🏼
import org.testcontainers.elasticsearch.ElasticsearchContainer; | ||
|
||
@EnabledIfSystemProperty(named = "camunda.docker.test.enabled", matches = "true") | ||
public class CamundaDockerIT { |
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.
❓ Root QA module is now available on main, do you want to move it now?
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.
yes, I have the same idea. I am planning to do it in a a new pull request.
I was planning to create a new module under QA module, dedicated to this kind of tests, with the minimum possible of dependencies: testContainers, jUnit5, apache http5...
we don't really need any dependency to the applicative code, and it should be easy to build and run tests. WDYT @Zelldon ?
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.
Separate PR is fine by me. Extra module not sure whether this is necessary. I think you can just put it into the integration-tests module in a different package.
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 test is not run within integration tests suite, but only on newly built camunda docker image (conditional on camunda.docker.test.enabled
property). When we need to run this test only, we don't really need to do a full project build or import dozens of applicative snapshot artifacts that we don't use in the test.
65a057d
to
61eb54b
Compare
Description
add camunda docker image build and publication in the GH workflow:
1-
.github/workflows/camunda-platform-release.yml
2-
.github/workflows/ci.yml
docker-checks
job:camunda/camunda
image and pushs it to a local registryCamundaDockerIT
integration test (now it is part ofdist
module but can be moved toqa
module that @Zelldon is creating). This test starts an ES image and the freshly builtcamunda/camunda
image. It checks the actuator health endpoint responsedeploy-camunda-docker-snapshot
jobmain
and thecheck-results
is passingRelated issues
relates to #18670