Skip to content

[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

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

jcapiitao
Copy link
Member

No description provided.

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).
Copy link

openshift-ci bot commented Jun 25, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-merge-robot
Copy link

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.

Copy link

openshift-ci bot commented Jul 18, 2025

@jcapiitao: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/images c321795 link true /test images
ci/prow/rhcos c321795 link true /test rhcos

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants