-
Notifications
You must be signed in to change notification settings - Fork 3
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
Implement CI bootloader script #86
Conversation
daf0f99
to
7153e37
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.
This is definitely a good idea in my opinion and should make maintenance a lot more straightforward and adding new packages simpler.
- The already share functions. which are copied between both packages. - Preparation for the CI bootloader script.
- fix doc build job
- set CI_DEV_PKG_ environment in unit tests
6423e6b
to
5b2551b
Compare
5b2551b
to
0070419
Compare
- remove a lot of submodule definitions to make code reusable - remove redundant code from SetupDevEnv.jl
9bfce95
to
57842d8
Compare
- fix bug in `add_integration_test_job_yaml!` if the target branch is `main`
720e778
to
2ce48ab
Compare
The current implementation contains a lot of code, which needs to be refactored or unified. Nevertheless I want to merge this unclean version to enable easier bug fixes and extensions of the CI. |
Looks good to me.
I take it that we can update these to the new dev branch and merge them after this is through? |
That's correct. I need only remove the last commit. Than they are ready for merge. |
At the moment, sometimes if I changes something on the CI, I also need to modify the content of
.gitlab-ci.yaml
in the projects, which uses the CI scripts. At the moment, there are 4 projects, where I need to do the same changes. To remove the need of this redundant work, I want to implement a CI bootloader.The basic idea of the bootloader is, there are only two jobs defined in the
.gitlab-ci.yaml
. The first job downloads the CI bootloader and execute it. The bootloader, scans it's environment (environment variables) and creates depending on it a GitLab CI yaml file, which contains the whole test pipeline such as unit and integration tests. The second job simply executes the CI pipeline.In the best cases, we don't need to change the
.gitlab-ci.yaml
anymore, if we change the CI scripts. Maybe it is required to set optional variables for single projects. For example we change the default Julia version for integration tests from 1.10 to 1.11 but project X does not support it yet. Therefore it still needs to run with version 1.10 until the problem is solved.Possible
.gitlab-ci.yaml
: