Skip to content
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

Feature: exclude architectures #240

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

cap10morgan
Copy link
Collaborator

#238 revealed a blind spot in the exclusion code: architectures. This PR refactors & reorganizes some code and fixes that. It replaces the config/distro-architectures subsystem with the more generalized exclusion mechanism.

The only slightly tricky part is that for our variant generation & exclusion code, it makes sense to have a separate variant for each architecture. However, when we generate the manifest file (that tells the Docker Official Image folks what images to build from which dirs in this repo), we need to combine variants that only vary by architecture. So that's what this PR does.

Fixes #238

Copy link
Owner

@Quantisan Quantisan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Just a quick note: Have you thought about adding a test for merge-architecture? If it isn’t already covered.

Also, while exclude? is tested in core, it might be useful to create a unit test for variant/exclude? as well. This can serve as a practical example in addition to the docstring.

These are critical fns, so I'm a bit more nit picky.

@cap10morgan
Copy link
Collaborator Author

I'm still working on this. I dove into spec-based generative testing, but I think I'm going to crawl back out of that rabbit hole for one of the fns I started implementing it for. I will have some generative testing coming up though. :)

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.

arm64 support for alpine
2 participants