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

If conda-forge-pinning package has migrations installed, use those #1244

Merged
merged 6 commits into from
Mar 9, 2020

Conversation

isuruf
Copy link
Member

@isuruf isuruf commented Mar 7, 2020

instead of the ones from the feedstock if the
timestamp field match and remove if the migration yaml has a
timestamp and there's no corresponding one in conda-forge-pinning
which indicates that the migration is over.

Checklist

  • Added a news entry

isuruf added 2 commits March 6, 2020 21:25
instead of the ones from the feedstock if the
timestamp field match and remove if the migration yaml has a
timestamp and there's no corresponding one in conda-forge-pinning
which indicates that the migration is over.
Copy link
Member

@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.

Do we need to consider the migration number too? If that gets changed it is a new migration IIUIC.

@scopatz
Copy link
Member

scopatz commented Mar 7, 2020

Thanks for putting this in @isuruf. It isn't clear to me what would happen if not all of the dependencies have been rebuilt with the pin the migration. Would it fall back to using the original pin in the pinning file?

@isuruf
Copy link
Member Author

isuruf commented Mar 7, 2020

It isn't clear to me what would happen if not all of the dependencies have been rebuilt with the pin the migration. Would it fall back to using the original pin in the pinning file?

I don't understand what you are asking here. Can you explain more?

In this PR what we are doing is using the migration file in the cfp package if there's a corresponding file in the feedstocks. For example if there's 2 migrations in the cfp package, python38 (A), boost172 (B) and there's 2 migrations in the feedstock, python38 (C) and boost171 (D), then conda-smithy will use (A) only because (B) is not in the feedstock, (C) is overriden by (A), and (D) is an old migration that has been merged to the pinning file.

@beckermr
Copy link
Member

beckermr commented Mar 7, 2020

@isuruf given that none of the files are yet in the pinnings package, this pr will remove current migrations as of now. I guess we need to merge the change to the pinnings package first?

Copy link
Member

@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.

Alright. This all seems fine to me. I’d personally like to see some tests of the various cases we have discussed to ensure that they all work and we don’t accidentally wreak havoc.

@beckermr
Copy link
Member

beckermr commented Mar 7, 2020

The only case we are missing is an empty PREFIX migrations and old ones in the feedstock. Everything else is covered.

@isuruf
Copy link
Member Author

isuruf commented Mar 7, 2020

Falling back to old behaviour where there's no $PREFIX/share/conda-forge/migrations is covered by other test cases.

@beckermr
Copy link
Member

beckermr commented Mar 7, 2020

We probably also want a test where we keep one and delete one.

@beckermr
Copy link
Member

beckermr commented Mar 7, 2020

Yep the old tests cover fall back. We don’t have tests of the deletion parts.

@isuruf
Copy link
Member Author

isuruf commented Mar 7, 2020

Added one for deletion.

Copy link
Member

@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.

LGTM!

@isuruf
Copy link
Member Author

isuruf commented Mar 8, 2020

@conda-forge/bot, can one of you also have a look? This is the last piece missing in getting a PyPy migrator.

@CJ-Wright
Copy link
Member

It would be great if some of the new functions could get some doc strings.

@isuruf
Copy link
Member Author

isuruf commented Mar 8, 2020

@CJ-Wright, done.

@ocefpaf ocefpaf merged commit f252ee8 into conda-forge:master Mar 9, 2020
@CJ-Wright
Copy link
Member

It would be great if some of the new functions could get some doc strings.

@jakirkham
Copy link
Member

They seem too (with the exception of tests). Were there some in particular you were looking at?

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.

6 participants