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

Add win-arm64 migrator #3194

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

baszalmstra
Copy link

@baszalmstra baszalmstra commented Nov 23, 2024

Description:

This adds a migrator to add win-arm64 builds. I mostly copied the OSXArm migrator. Im unfamiliar with the codebase so I welcome feedback!

Checklist:

  • Pydantic model updated or no update needed

Cross-refs, links to issues, etc:

conda-forge/conda-forge.github.io#1940

Copy link

codecov bot commented Nov 23, 2024

Codecov Report

Attention: Patch coverage is 64.70588% with 30 lines in your changes missing coverage. Please review.

Project coverage is 77.00%. Comparing base (26460c8) to head (f9a2ade).
Report is 202 commits behind head on main.

Files with missing lines Patch % Lines
conda_forge_tick/migrators/arch.py 57.57% 28 Missing ⚠️
conda_forge_tick/make_migrators.py 33.33% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3194      +/-   ##
==========================================
- Coverage   77.07%   77.00%   -0.08%     
==========================================
  Files         129      129              
  Lines       13991    14074      +83     
==========================================
+ Hits        10784    10837      +53     
- Misses       3207     3237      +30     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@beckermr beckermr left a comment

Choose a reason for hiding this comment

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

Thank you!

Let's add an additional test that runs the migrator on a feedstock and make sure the pinnings repo is setup properly. Then we should be able to merge!

conda_forge_tick/migrators/arch.py Show resolved Hide resolved
@baszalmstra
Copy link
Author

@beckermr Is there an example for one of the other arch migrators that I could copy?

@beckermr
Copy link
Contributor

Not specifically for an arch migration but there are good examples in tests/test_migrators.py.

@beckermr
Copy link
Contributor

/relock-conda

WinArm64(
graph=total_graph,
pr_limit=PR_LIMIT,
name="arm64 win addition",
Copy link
Member

Choose a reason for hiding this comment

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

No piggy back migrators?

Copy link
Author

Choose a reason for hiding this comment

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

Im not sure what a piggy back migrator is?

Copy link
Member

Choose a reason for hiding this comment

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

Have a look at the piggy back migrators list in OSX Arm migrator. They do additional stuff other than rerendering.

Copy link
Contributor

Choose a reason for hiding this comment

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

If you merge main into your pr, there is now a default set you can use with a function to instantiate them. See the other samples.

Copy link
Member

Choose a reason for hiding this comment

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

We need to support windows with UpdateCMakeArgsMigrator and GuardTestingMigrator

Copy link
Member

Choose a reason for hiding this comment

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

No, it's best to add the piggybacks to make it less work for maintainers. Otherwise they would have to figure that on their own.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sure, but the first 20-50 packages are probably good anyways, right? I just want us to get started with bootstrapping win-arm64 :)

Copy link
Member

Choose a reason for hiding this comment

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

No, it's not. I'd rather one person spend time with writing the migrator than 10 people all trying to figure out what went wrong.

Copy link
Contributor

Choose a reason for hiding this comment

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

We can document what needs to be done in the tracking issue (or a separate one) that we link to in the opening comment of the bot. That way we avoid the "X people have to figure it out themselves" thing, even if some other modifications aren't yet automated.

I agree that we should get the migration started. IMO perfection is the enemy of the good here - we can improve as we scale up (and based on what we learn in the process).

Copy link
Contributor

Choose a reason for hiding this comment

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

We need to support windows with UpdateCMakeArgsMigrator and GuardTestingMigrator

Although those should probably be considered baseline.

@baszalmstra
Copy link
Author

I have been trying to come up with a test but Im really struggling to grasp how to construct all the different objects at play. If someone has some time, I would love some help with this!

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.

8 participants