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]: Override Validation for build_rule.template files #491

Closed
MarcChen46 opened this issue Jul 14, 2023 · 4 comments
Closed

[Feature]: Override Validation for build_rule.template files #491

MarcChen46 opened this issue Jul 14, 2023 · 4 comments
Assignees
Labels
state:needs-maintainer-feedback Needs more information from a maintainer to determine next steps state:needs-triage Needs to triaged to determine next steps type:feature-request A new feature proposal urgency:low Little to no impact

Comments

@MarcChen46
Copy link
Contributor

Feature Overview

The OverrideValidation plugin is a very good tool that can help us catch the override module that is required to sync-up during build time, but it does not cover build_rule.template, and some of specific feature may need to override the build_rule.template, it would be great if there is a mechanism that can catch the overridding build_rule.template that needs to sync up with Basetool update.

Solution Overview

If I have an override build_rule.template in my override folder, and when there is a new update in the BaseTools/Conf/build_rule.template of MU_BASECORE, it will throw a build error to remind developer to do sync up with new MU_BASECORE codebase.

Alternatives Considered

No response

Urgency

Low

Are you going to implement the feature request?

Someone else needs to implement the feature

Do you need maintainer feedback?

Maintainer feedback requested

Anything else?

No response

@MarcChen46 MarcChen46 added state:needs-triage Needs to triaged to determine next steps type:feature-request A new feature proposal labels Jul 14, 2023
@github-actions github-actions bot added state:needs-maintainer-feedback Needs more information from a maintainer to determine next steps state:needs-owner Needs an issue owner to be assigned urgency:low Little to no impact labels Jul 14, 2023
@github-actions github-actions bot removed the state:needs-owner Needs an issue owner to be assigned label Jul 25, 2023
@makubacki
Copy link
Member

We discussed some approaches to this problem today. @apop5 will follow up.

@apop5
Copy link
Contributor

apop5 commented Jul 28, 2023

@MarcChen46
OverrideValidation can be run on the build_rules.template from mu_basecore:

py -3 MU_BASECORE\BaseTools\Plugin\OverrideValidation\OverrideValidation.py -w . -t MU_BASECORE\BaseTools\Conf\build_rule.template

and this will generate the override string:

#Override : 00000002 | MU_BASECORE/BaseTools/Conf/build_rule.template | 1246d00c583c4cf6abd47de07633a48c | 2023-07-27T22-27-10 | 4a53c6a

The override validation needs to be included in the dsc file for OverrideValidation to be able to find it.

I think you can include the override string into the package dsc file that contains the override and it will notify on a hash change to the build_rule.template in the associted version of mu basecore.

Please let me know if you have any other questions.

@MarcChen46
Copy link
Contributor Author

@apop5
Thanks for your feedback, the idea you provided is put the override string in DSC to catch the build_rule.template change in MU_BASECORE, one case is that if the overridden build_rule.template file is put in a sub-module of a platform repo, in that case, do you think we should put the override string in both package's DSC and platform DSC, then the override sync notification will be showed in both CI build of sub-module and platform build of platform repo?

@MarcChen46
Copy link
Contributor Author

close the issue since Aaron's suggestion can handle the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:needs-maintainer-feedback Needs more information from a maintainer to determine next steps state:needs-triage Needs to triaged to determine next steps type:feature-request A new feature proposal urgency:low Little to no impact
Projects
None yet
Development

No branches or pull requests

3 participants