Skip to content

Enable shared yum cache for mock builds #527

@andrewlukoshko

Description

@andrewlukoshko

Summary

Add support for sharing the yum/dnf package cache across mock builds of the same platform and architecture. This avoids redundant package downloads when multiple builds run for the same platform/arch combination, improving build performance.

Changes

Shared yum cache (use_shared_yum_cache)

When use_shared_yum_cache: true is set in a platform's data.mock config, the build node generates a cache_key in mock.cfg based on the platform name and target architecture:

config_opts["plugin_conf"]["yum_cache_opts"]["cache_key"] = "almalinux-kitten-10-x86_64"

This tells mock's yum_cache plugin to share the cached packages across all builds matching that key, instead of maintaining separate caches per chroot.

Yum caching options (keepcache, metadata_expire)

Platform configs can now set keepcache and metadata_expire in data.yum to control yum.conf caching behavior inside the chroot. AlmaLinux-Kitten-10 is configured with keepcache: true and metadata_expire: 60.

Nested dict support in MockConfig

MockConfig.render_config_option now supports two-level nested dictionaries, enabling direct setting of plugin_conf options without resetting existing plugin defaults.

Pull Requests

Merge order: albs-build-lib → albs-node → albs-web-server

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions