-
Notifications
You must be signed in to change notification settings - Fork 555
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
Use GHA instead of Jenkins #9127
Comments
I'll just add ad-hoc some of the questions I have, maybe some we can answer already, others we can create one or more issues to investigate:
|
A first step would be #9135 I think.
I'm pretty sure it's the same runner but @cmur2 probably knows best.
Not yet! This is something that I haven't even started and I think we could leave it in Jenkins for a bit longer since it doesn't affect the day-to-day much.
Yes, GitHub hosted runners support a default timeout of 6 hours.
Yes, scheduled runs are no problem: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onschedule |
Having the latest SNAPSHOT available might affect other projects (ZPT, Operate, Tasklist, etc.) which sometimes need to point to a recent SNAPSHOT to use the latest features though. |
@npepinpe Just to be clear, my understanding was that we only want to replace Jenkins with GHA as the bors check. That means that we run tests and code quality checks in GHA but nothing else. Specifically, deploying snapshots and docker images is still done by Jenkins. Do you agree on that or should I add more issues to this epic? |
Disclaimer: I don't know much about the internal workings of Testcontainers utility/framework. That said, each job of a GHA workflow gets run on a separate runner. There is no way for the executed workflow steps to spawn an additional runner inside the same workflow/job during execution. So everything is confined to the same runner in my understanding. |
Testcontainers simply uses the local Docker client to spawn containers, so it will just spawn them on whatever that's connected to. I believe GitHub hosted runners get a sibling container for this, but we weren't sure about the self-hosted. I guess we can quickly find out if we can exec/ssh into one of them to see what's the Docker client pointing to. |
The thing is we don't want to deploy snapshots that are not working ideally, so we would still want to run the tests on the snapshot we're deploying, no? But we don't want to run tests in Jenkins anymore. So option is keep it in Jenkins but it's triggered by the tests passing in GitHub, or move it to GHA. I imagine they're similar effort, so I'd rather put it in GHA - maybe we can reuse the community release action for this? I know some projects use it to release SNAPSHOT. Releasing the Docker snapshot is pretty easy as well I think. What do you think? |
Okay, then let's do that. Since @pihme already expressed interest in helping here I'm hopeful that we can get deploys in GHA too! |
Semi related, I signed up for the Testcontainers Cloud beta, and will try it out to see if it would be a good use case for us to increase parallelism with the integration tests. |
Regarding modularity/maintainability, the infra team posted the following links: |
@oleschoenburg Please consider #9365 as part of this larger topic. |
Description
Currently our CI Pipeline is running on Jenkins. We want to switch to GitHub Actions to make the pipeline easier to maintain, faster running, more reliable and visible for outside contributors.
Current Status
With #8968 we've made some progress in the right direction. There are two different workflows one for tests and one for code quality. Both workflows run for commits on selected branches and for pull-requests. In the test workflow, individual jobs are either run on GitHub hosted runners or on our self-hosted runners, depending on the resource requirements of the test.
Missing Features
Some of the features of the Jenkins pipeline are still missing:
Housekeeping
The text was updated successfully, but these errors were encountered: