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 branding features on MacOS PKGs #469
Conversation
Hello all, I just wanted to ask whether this PR might be considered for inclusion? This is a feature I'd love to see in Thank you! Richard |
Super friendly bump :) I can offer to test things on my macOS machine! |
@hoechenberger Let's sync on the tests! Reach out on gitter.im; I have some builds you can try. |
@jaimergp I'm busy today but will reach out tomorrow (Friday UTC)! |
I've tested the new features added by this PR, and it's all working fine for me with the recent fix @jaimergp added to I believe this is good to go, but please ping me if you need further testing! |
@jaimergp LMK if / when I should test this again! |
I am preparing another PR to have the installers uploaded as artifacts so we can test/debug locally in an easy way. See #498! |
Nice! Any chance to see this merged into |
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.
Code changes look reasonable and as I mentioned in #497 we've been using this successfully for a while, so +1 for merge from me. Let's leave it open for another day or two to give people a chance to look and/or ask for more time, then click the green button if nobody else has comments!
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.
LGTM!!
@jaimergp WDYT about my testing ideas in #525 (comment) ? I wonder if we should try to implement something like this in the next few days first, then rebase this PR to use the new testing framework. We could even test the notarization stuff using private secrets if you or @hoechenberger are willing to put your dev credentials up here. We could use them only on |
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.
Thanks for working on this @jaimergp !
🚀
@larsoner Yes! Good idea, improving the tests on |
Are all the If they aren't run by CIs, maybe a quick PR to make some CI run run the examples on the appropriate OSes would be a good start. Would you be up for making one? |
Yes, they are being run. Check this one, for example. The only problem I see is that:
However, since we've been using both for a while, I think we are okay. I would love to see someone from Anaconda drop a review though, if possible. I know SciPy is happening right now, but maybe they can pass by in one of the sprints. What do you think @jezdez? |
Great!
I think this will be true of any sufficiently complex system (with sufficiently time-consuming processing) so I think it's okay to continue trying to cover at least the most common use cases/combos
This will be tough to unit test :(
Also @jezdez let me know if you or anyone else at the Anaconda end would prefer to look at all PRs before some non-Anaconda person (like me!) merges them let me know! My plan at least was to look at and merge changes that we have been using already at the MNE-Python end successfully for 6-12 months already (having adopted them from the napari folks) and maybe others if I get familiar enough with the codebase. |
I hate to pile on... but whats needed to merge these changes? |
I'll merge next Monday (ping me if I forget!). We can always revisit changes before a release if needed ;) This PR introduces quite a few configuration keys so I was maybe expecting a bit of pushback but nobody said anything so... 🤷 |
Hey... your changes work and they're awesome. hard to push back on that. ;-) |
Hey this is great... thanks! I'll test this now on mac. Just to push my luck it'd be great if all these changes were docmented on the main github page . |
Yes, I think the docs at |
Branding
MacOS PKGs were still using the default Anaconda branding and texts, so they couldn't be customized. I took some logic used in the Windows installers to provide equivalent features in this target output. I also needed to add some new keys.
Note that if these new keys are not provided, Anaconda's default branding is still used; that way no backwards compatibility is broken for anybody relying on that (if this is being used internally or something). To disable Anaconda's branding you need to be explicit about it with empty strings
""
(null
fields are pruned for some reason during parsing).New keys:
welcome_file
,welcome_text
: Shown at the beginning of the wizard.readme_file
,readme_text
: Shown right before the license if provided.conclusion_file
,conclusion_text
: Shown at the end of the wizard.Reused keys (from Windows)
welcome_image
: Path to a 1200x600 PNG or""
. Takes precedence over*_text
. Closes Feature request: make logo in mac installer customizable #158.welcome_image_text
: Astr
.We have also added:
reverse_domain_identifier
, so it doesn't hardcodeio.continuum
internally.default_location_pkg
andpkg_name
so you can better customize the default installation path. This is not as flexible as Windows or Linux options, but it's the best we can do for now. Closes default_prefix is not working for pkg #432 (in a way)install_path_exists_error_text
, which allows you to change the default error message shown when the install path already exists. This way you can tell your users to use a specific mechanism for your app, if needed.notarization_identity_name
. We sign the bundled conda-standalone binary so it can pass notarization too. This requires a different certificate, so this key was added.Other cosmetic fixes
osascript
to send notifications and report progress so the users don't think it got stuck.Other technical fixes
pkgutil expand
behaviour is kept (unless the user chooses to run the PKG installation, which can be enabled by settingCI=1
to workaround the CI checks).