-
Notifications
You must be signed in to change notification settings - Fork 417
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
feat: introduce 'tutor dev quickstart' (also, some extra docs) #627
feat: introduce 'tutor dev quickstart' (also, some extra docs) #627
Conversation
@regisb This PR's also ready for review. |
7630d34
to
18f9fb3
Compare
README.rst
Outdated
@@ -63,10 +63,21 @@ Features | |||
Quickstart | |||
---------- | |||
|
|||
For Open edX deployers | |||
~~~~~~~~~~~~~~~~~~~~~~ | |||
|
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 a big fan of making the quickstart instructions more complex. They are purposely very short; that's because there are many people who don't care about running Tutor in dev mode. So I suggest getting rid of this commit.
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.
That makes sense, I'll remove this.
Still, I think the readme should have some link to point Open edX developers in the right direction. Currently, the Open edX development page is 3+ clicks away. How would you feel about linking right to that page, either in the first sentence ("...both for production and local development.") or via a new bullet point in the Features list?
@kdmccormick @regisb What do you think about However, currently the instructions for doing so are complicated (and not referenced on the Nightly page). So I was thinking something like a prompt which says: "Do you have a local checkout of the edx-platform source (master branch) that you want to use with Tutor Nightly? If so, enter the full path to it [e.g. /home/regis/dev/edx-platform] or press enter to skip:" And then if you enter a path, it can create the |
@bradenmacdonald That's a really interesting idea. I agree with your point that mounting code locally is currently too complicated. We have work in flight to address it, with a proposal syntax like:
So, I am torn on your suggestion. On one hand, it would allow developers to "set and forget" repository mounts, which would certainly lower the start-up effort for new users. On the other hand, running services from built-in container code by-default is one of the reasons Tutor is less resource-intensive and (IMO) more reliable than Devstack (which host-mounts code for every single service), so encouraging developers to explicitly mount in host directories as-needed might be better. @regisb , what do you think? |
18f9fb3
to
f1be8bb
Compare
Add `tutor dev quickstart` command, which is equivalent to `tutor local quickstart`, but uses dev containers instead of local production ones and includes some other small differences for the convience of Open edX developers. This should remove some friction from the Open edX development setup process, which previously required that users provision using local producation containers but then stop them and switch to dev containers: * tutor local quickstart * tutor local stop * tutor dev start -d Document the command and its improved workflow in ./docs/tutorials/nightly.rst Fixes openedx-unsupported/wg-developer-experience#58
f1be8bb
to
4ad45f0
Compare
@kdmccormick I see, that does make a lot of sense. Sorry I missed the existing discussion; we can follow up in openedx-unsupported/wg-developer-experience#43. |
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.
Can I just say that I love all the changes that we are making?
I have no idea why we decided to kickstart a separate build. The image will be built anyway at the next step because we run `docker compose up --build` in `tutor dev start`. The build step was introduced in this PR: #627
I have no idea why we decided to kickstart a separate build. The image will be built anyway at the next step because we run `docker compose up --build` in `tutor dev start`. The build step was introduced in this PR: #627
Description
Fixes openedx-unsupported/wg-developer-experience#58
There are three commits. The first two just add some supplementary doc updates, which I could remove from this changeset if they don't seem like a good idea. The third commit introduces
tutor dev quickstart
along with the most critical documentation updates.Implementation Notes
I wanted to tailor
tutor dev quickstart
to the development use case, so there are some differences between it andtutor local quickstart
:Difference 1 is the only thing that really needed to be changed, so if there are objections to 2-4 do let me know.
In order to implement differences 3-4 I needed some way of passing to
tutor config save
that fact that we're in a developer context. Instead of clutteringtutor config save
with a new command-line option, I opted to expose anis_dev()
method on theContext
class, which is used to tell whether developer-mode assumptions should be made. Let me know if this seems like a bad idea.