-
Notifications
You must be signed in to change notification settings - Fork 57
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
Refactor CI workflows to use GitHub Actions capabilities #1968
Comments
We used to be able to run something like |
Great question. The challenge is it has been difficult to know what the "local container" is... It has been difficult to keep the set of workflows working across the now diverse platforms we support. Even if we don't have that container-CI script, we could use a repository fork to test out all the configurations using GitHub Actions? |
The reason I tried to maintain those scripts previously is that it allowed for much faster iteration. Anyways, just wanted to make sure you are aware of the tradeoffs. |
My idea was to have some registry of RNP-related pre-built Docker images, which are periodically refreshed. However still didn't get to this task yet. This should solve both Github issue (workflow would just specify pre-built image) and local issue (just name an image and run via simple command line). |
@ni4 I think that's a good approach so long as there is adequate hosting available for the images and such |
Well, all together it sounds like a proposal to have cmake project wrapped by set of bash scripts embedded into docker container that is run by GHA script in another container and possibly in yet another container with cross-dependecies split across all levels. :) |
@maxirmx For me it looked simpler - a repository with current CI scripts, and Dockerfiles, one for every setup we need (like centos8-openssl3, centos8-openssl1, centos8-botan, etc.). Each modification to these files should trigger CD which would build corresponding image and upload to the appropriate location. Also this should be done periodically to leave images up-to-date. CI (PR which modify certain Dockerfiles/build scripts) should check whether images are buildable. If we'll have too many setups, those could be parametrized (like single centos8 Dockerfile, with some ENV parameters inside which would be overwritten by CI/CD and then used in scripts). Another, even more simpler approach could be to have plain Dockerfile, without current CI scripts, emulating 'realworld' usage case where user issue certain commands to install required dependencies. Here is one I used for debugging:
|
We are now at the point where ci/ scripts are required only when
Considering
the suggestion is:
|
@maxirmx thank you for the detailed proposal. I think this works perfectly. Let's proceed! |
We should utilize GHA capabilities instead of shell scripts. The goal is to get rid of the ci/ folder.
The tasks are:
The text was updated successfully, but these errors were encountered: