Skip to content

setup-build-env: consolidate package dependencies#186

Merged
theihor merged 3 commits into
mainfrom
setup-build-env-packages
Jun 5, 2025
Merged

setup-build-env: consolidate package dependencies#186
theihor merged 3 commits into
mainfrom
setup-build-env-packages

Conversation

@theihor

@theihor theihor commented Jun 5, 2025

Copy link
Copy Markdown
Contributor

BPF CI self-hosted runner docker images moved to using setup-build-env scripts at build time [1]. Consolidate the list of packages to install in the action script.

BPF CI self-hosted runner docker images moved to using setup-build-env
scripts at build time [1]. Consolidate the list of packages to install
in the action script.

Signed-off-by: Ihor Solodrai <isolodrai@meta.com>
theihor added a commit to kernel-patches/vmtest that referenced this pull request Jun 5, 2025
theihor added a commit to kernel-patches/vmtest that referenced this pull request Jun 5, 2025
theihor added 2 commits June 4, 2025 18:39
Move dependencies setup from action.yml to a shell script. Add
iproute2 and friends to the list of installed packages.

Signed-off-by: Ihor Solodrai <isolodrai@meta.com>
Signed-off-by: Ihor Solodrai <isolodrai@meta.com>
@theihor theihor force-pushed the setup-build-env-packages branch from d519917 to be71b47 Compare June 5, 2025 01:39
@theihor theihor merged commit 35eef64 into main Jun 5, 2025
16 checks passed
theihor added a commit to kernel-patches/vmtest that referenced this pull request Jun 5, 2025
This reverts commit 5e880db.
theihor added a commit to kernel-patches/runner that referenced this pull request Jun 5, 2025
BPF CI uses various actions from libbpf/ci repo. Many of them have
system package dependencies and usually action code installs what it
needs itself.

Our self-hosted runners are docker containers. We can take advantage
of the fact that we control the docker image and pre-install common
dependencies in the image, effectively caching them.

So far this was done by hardcoding a list of some packages in
dockerfiles. A better approach is to install exactly the same packages
as libbpf/ci actions.

The first attempt to do this [1] failed, because it turned out some
dependencies (such as iproute2 needed for some BPF selftest) were only
installed in the dockerfile, and not by a relevant action.
Additionally s390x image broke because of missing dumb-init for a
similar reason.

Now that libbpf/ci part of these issues is fixed [2], let's update the
dockerfiles.

[1] #78
[2] libbpf/ci#186

Signed-off-by: Ihor Solodrai <isolodrai@meta.com>
theihor added a commit to kernel-patches/runner that referenced this pull request Jun 6, 2025
BPF CI uses various actions from libbpf/ci repo. Many of them have
system package dependencies and usually action code installs what it
needs itself.

Our self-hosted runners are docker containers. We can take advantage
of the fact that we control the docker image and pre-install common
dependencies in the image, effectively caching them.

So far this was done by hardcoding a list of some packages in
dockerfiles. A better approach is to install exactly the same packages
as libbpf/ci actions.

The first attempt to do this [1] failed, because it turned out some
dependencies (such as iproute2 needed for some BPF selftest) were only
installed in the dockerfile, and not by a relevant action.
Additionally s390x image broke because of missing dumb-init for a
similar reason.

Now that libbpf/ci part of these issues is fixed [2], let's update the
dockerfiles.

[1] #78
[2] libbpf/ci#186

Signed-off-by: Ihor Solodrai <isolodrai@meta.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant