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
Breaking: Default to traitlets based Build class #1521
Merged
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
8b751e2
Default to traitlets based KubernetesBuildExecutor
manics a0a0fc4
Set deprecated params on new *BuildExecutor
manics 8deb985
Remove old `binderhub.build.Build`
manics 1899c37
Add breaking changes to CHANGES.md
manics 7c910d8
Pass example builder instance to /version /health handlers
manics f139283
Fix LocalRepo2dockerBuild to work with latest BuildExecutor
manics 6c253eb
Fix deprecated config override (config.Class may not yet exist)
manics 451059c
Remove hardcoded appendix value
manics 8a48dac
Fix registry <-> push_secret config interaction
manics e38480a
Rename `BuildExecutor.identifer` ➡️ `builder_info`
manics 13015f8
Fix test_main.py
manics File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not confident about this situation, but wondering if it would make practical sense to work with class state on the build class itself instead of state object instance state for this information.
If so, we wouldn't have to create a dummy object, but instead just read the relevant information from the class.
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect this relates to
identifier
now being made a configurable traitlet. If we go for class state, theidentifier
field should probably not be a traitlet - but it doesn't seem like something that makes sense for users to configure themselves, but rather like something for the creator of the buildexecutor class to declare.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's based on a traitlets value, which AFAIK can't be static. I've renamed the variable where it's used to make it clearer, see e38480a
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it makes sense for this to be configurable, lets go with this as it is! Can you imagine a plausible situation when this could make sense to configure?
I'm currently understanding
builder_info
as something inherent to the builder class providing it, like a__version__
field, which I don't think should be configurable. So I guess there are two parts to my question about this:.config(True)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For
KubernetesBuildExecutor
the default value includesbuild_image
which is a user-configurable traitlet, so unless traitlets properties can be staticbuilder_info
can't be a static class property, e.g.:Compare with the current output: https://mybinder.org/versions
For
config=True/False
..... debatable./versions
is a public endpoint, including on authenticated BinderHubs, so one use could be to deliberately hide thebuilder_info
. Not sure if that's useful..... what do you prefer?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, well i think its not worth further thinking if we didnt come up with a clean alternative strategy by now.
PR LGTM ready for merge in my mind!
Thank you for amazing efforts in binderhub Simon!!!