-
Notifications
You must be signed in to change notification settings - Fork 16
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/update macos quickstart #1843
Feature/update macos quickstart #1843
Conversation
…aofarrel/dockstore-ui2 into feature/update-macos-quickstart
I tested the `brew` instructions on a fresh laptop that does not use Apple Silicon, but does use zsh. Docker 4.3.0 was chosen since that's the first version to support Apple Silicon.
Java and Docker dependencies are each now their own "part", and the two ways to install openJDK 17 have subheadings -- the combination of these two changes makes the Mac OS Java installation parts much less confusing. Additional zsh notice made on adding dockstore CLI to the path. Tell people their version of openJDK will vary. Give a few use cases for the Dockstore CLI after installing the required bits, and clarify WDL doesn't require any additional downloads. Remove some unnecessary numbering.
I tested the `brew` instructions on a fresh laptop that does not use Apple Silicon, but does use zsh. Docker 4.3.0 was chosen since that's the first version to support Apple Silicon.
Java and Docker dependencies are each now their own "part", and the two ways to install openJDK 17 have subheadings -- the combination of these two changes makes the Mac OS Java installation parts much less confusing. Additional zsh notice made on adding dockstore CLI to the path. Tell people their version of openJDK will vary. Give a few use cases for the Dockstore CLI after installing the required bits, and clarify WDL doesn't require any additional downloads. Remove some unnecessary numbering.
…aofarrel/dockstore-ui2 into feature/update-macos-quickstart
Build issues are probably due to this being a fork (and then branch) rather than a branch inside the ui2 repo. |
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.
Pending Mac-saavy review
src/app/loginComponents/onboarding/downloadcliclient/downloadcliclient.component.ts
Outdated
Show resolved
Hide resolved
@@ -106,73 +109,88 @@ exec newgrp docker | |||
|
|||
`; | |||
this.textDataMacOs = ` | |||
#### Part 1a - Install Java dependencies | |||
We'll cover two ways to install Java 11. | |||
#### Part 1 - Install Java |
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.
Radical suggestion -- let's not get into into the details of how to install Java, and just have links.
Your steps are very detailed, and yet:
- I didn't install Java on my Mac either of the ways you list; I installed was from https://adoptium.net/, which at the time was the only Apple Silicon native JDK implementation.
- The minor version you have, 17.0.2, is old (the
2
part), I think. While you could update it to the latest, it could probably become quickly out of date. - There are different ways of switching JVM versions on a Mac -- I use
jenv
, and I don't think we want to be too prescriptive about how to do it. - Instructions change with newer releases.
I think it's better not to get too detailed and let the package owners tell you how to install.
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.
There is a caveat... if we tell people to use homebrew, they have to install xCode command line tools, and that can take time. If we tell people to use OpenJDK from the archival website, they will be told on said website "hey, this is old software, don't use this!" and will end up with an older version than what homebrew would give them.
That being said: I ultimately agree with this point, and would rather direct people to just use homebrew. Installing homebrew is user-friendly, and iirc it handles the (sometimes iffy) xcode cl tools installation well. People who are developing bioinformatics tools often have it already.
Action items:
- Does homebrew-OpenJDK work on Apple Silicon? This comment implies it might not (or at least at the time did not).
- How long does the version of xcode that homebrew actually take to install on modern (2018-onwards-ish, intel + Apple Silicon) Macs? At what point would it be slow enough to use to say "hey, this could be slow," or does homebrew warn about this for us?
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 stick by my suggestion that we just not get into how to install Java. :) I wouldn't even recommend homebrew in our doc.
To clarify, I'm not anti-Homebrew; I have it installed (on a Silicon Mac, FWIW) and use it, although I don't happen to use it to install Java. But I don't think it's Dockstore's domain to take a position on how to configure your local machine.
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.
Could you cover this change?
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.
re-bumping, I can't assess this
@@ -75,7 +75,7 @@ <h5>Dockstore External Services</h5> | |||
<button mat-raised-button matStepperPrevious class="pull-right mt-2"><mat-icon>navigate_before</mat-icon>Back</button> | |||
</mat-step> | |||
<mat-step> | |||
<ng-template matStepLabel>Setup Dockstore CLI</ng-template> | |||
<ng-template matStepLabel>Set Up Dockstore CLI</ng-template> |
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.
Good catch.
------------------------------ | ||
Set up our Dockstore CLI application in order to test workflows from the command line for [local development](${Dockstore.DOCUMENTATION_URL}/launch-with/launch.html#dockstore-cli), [validate .dockstore.yml files](${Dockstore.DOCUMENTATION_URL}/advanced-topics/dockstore-cli/yaml-command-line-validator-tool.html) for registering tools and workflows, | ||
You can search for workflows or launch them with our cloud partners using the Dockstore website, but we also provide a command-line tool to make developing and launching workflows more convenient. Set up our Dockstore CLI application in order to test workflows from the command line for [local development](${Dockstore.DOCUMENTATION_URL}/launch-with/launch.html#dockstore-cli), [validate .dockstore.yml files](${Dockstore.DOCUMENTATION_URL}/advanced-topics/dockstore-cli/yaml-command-line-validator-tool.html) for registering tools and workflows, |
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 like this new text, it's clear and to the point and communicates the basic concepts in a way that new users can understand.
More notes about Apple Silicon compatibility:
Other notes from that discussion:
|
Checking in on this as part of https://ucsc-cgl.atlassian.net/browse/SEAB-6003 |
Although I'm using a different machine now, I'm still using Intel hardware, so I can't test the Apple Silicon stuff. Recommend whichever reviewer has Apple Silicon hardware checks that a workflow running an x86 Docker image actually goes through. See also:
I haven't seen issues running x86 Docker images from people running Linux on other ARM architecture; I think this is mostly a Mac issue. Also worth keeping in mind that although the heavy hitters of Docker Hub tend to build multi-arch images, most bioinformatics Dockers images seem to be solely available in x86. |
@@ -106,73 +109,88 @@ exec newgrp docker | |||
|
|||
`; | |||
this.textDataMacOs = ` | |||
#### Part 1a - Install Java dependencies | |||
We'll cover two ways to install Java 11. | |||
#### Part 1 - Install Java |
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 stick by my suggestion that we just not get into how to install Java. :) I wouldn't even recommend homebrew in our doc.
To clarify, I'm not anti-Homebrew; I have it installed (on a Silicon Mac, FWIW) and use it, although I don't happen to use it to install Java. But I don't think it's Dockstore's domain to take a position on how to configure your local machine.
@@ -106,73 +109,88 @@ exec newgrp docker | |||
|
|||
`; | |||
this.textDataMacOs = ` | |||
#### Part 1a - Install Java dependencies | |||
We'll cover two ways to install Java 11. | |||
#### Part 1 - Install Java |
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.
re-bumping, I can't assess this
Closing in favor of #1964, which is based off of this, but whose branch is in this repo which allows somebody other than Ash to respond to PR comments. |
Description
Update Dockstore CLI install instructions, with an emphasis on updating the Mac OS instructions. Notably, we now correctly tell Mac users to use Java 17 instead of 11.
What's been tested
What has not been tested
Specific feedback request
I listed some use cases for the Dockstore CLI after step 5, but I don't know if I "sold" it very well. Any thoughts?
Issues
Security
N/A
Please make sure that you've checked the following before submitting your pull request. Thanks!
npm run build
markdown-wrapper
component, which does extra sanitizationnpm audit
and ensure you are not introducing new vulnerabilitiesAs mentioned in the previous PR, since this is an external fork, these commits might need to be cherrypicked to an internal branch to get the tests to pass.
I've made sure this compiles, but I'm not sure how/if I can authenticate locally so I can see the onboarding page, so this is a bit of a blind change. 🙈 Would appreciate someone screenshotting the resulting markdown so I can ensure our flavor of markdown renders the
#####
I've introduced distinctly from####
.