-
Notifications
You must be signed in to change notification settings - Fork 182
[WIP] GH action update lockfiles #4163
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
base: main
Are you sure you want to change the base?
Conversation
This will enforce Konflux to prefetch the dependencies defined in the lock.yaml files with [1]. Then during the build, Konflux will 1. inject the repositories where the deps are stored, 2. configure the clients to pull the deps from there, 3. build without network. As rpm is still not fully supported [2], we have to enable `dev-package-managers` for now in the pipeline. All specific files enabling hermetic builds are located in the `ci/hermetic/` folder. You can find the helper scripts that automate the process of generating the lock YAML files, replacing the manual steps. The automation streamlines the workflow, reduces the chance of human error, and ensures consistency in the generated lock files. More details can be found in the updated README. This required adaptations to `build.sh` and the Dockerfile to support both hermetic and non-hermetic build processes. [1] https://github.com/konflux-ci/build-definitions/tree/main/task/prefetch-dependencies-oci-ta/0.2 [2] https://github.com/hermetoproject/hermeto?tab=readme-ov-file#package-managers
In 'rpms.in.yaml' file, we configured the rpm lockfile CLI tool to extract installed packages from the main Dockerfile which use the standard base image of Fedora. For consistency, we have to rbase all the container images of the project on the same image. Otherwise, we may end up with missing packages during the build (i.e tzdata is available in standard image, but not in minimal one, making the targetcli fail as tzdata was not add to the lock YAML file).
This is temporary while awaiting [1] to be merged and push in quay.io. [1] konflux-ci/build-definitions#2421
... because we need to have the CI/CD jobs ready to update automatically the lock files. Otherwise the Konflux pipelines will start failing because the Fedora RPMs defined in the lockfiles won't be available in remote repos a couple of days after (i.e Fedora update repos remove older RPMs).
Skipping CI for Draft Pull Request. |
18e8e99
to
c321795
Compare
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
@jcapiitao: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
No description provided.