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
    No fields configured for issues without a type.

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions