Skip to content
This repository has been archived by the owner on May 2, 2024. It is now read-only.

Tutor Adoption 4: Devstack Parity: Dev Workflows #144

Closed
kdmccormick opened this issue Dec 21, 2022 · 2 comments
Closed

Tutor Adoption 4: Devstack Parity: Dev Workflows #144

kdmccormick opened this issue Dec 21, 2022 · 2 comments
Assignees
Labels
duplicate This issue or pull request already exists elsewhere epic Large unit of work, consisting of multiple tasks

Comments

@kdmccormick
Copy link
Collaborator

kdmccormick commented Dec 21, 2022

Background

As described in the "Why" section of the quickdev plugin's documentation, the Tutor workflows involving installing and running locally-changed code/packages/requirements need improvement. As discussed in the quickdev TEP, we see three general paths forward:

  1. Incorporate quickdev into Tutor.
    • Pros:
      • Makes the dev workflow improvement immediately available to all Tutor users.
      • No need to maintain quickdev as a plugin.
    • Cons:
      • Makes tutor dev much more stateful, counter to Tutor's design philosophy.
      • Creates a confusing difference of behavior between tutor dev and tutor [local|k8s].
  2. Rewrite quickdev to be a proper long-term plugin that can work with any Tutor service. Maintain it as long as is needed.
    • Pros:
      • Dev workflow improvements are available to all Tutor users who install the plugin.
      • Avoids making vanilla tutor dev more stateful.
      • Keeps vanilla tutor dev behavior similar to tutor local.
    • Cons:
      • We would need to maintain two sets of dev docs: one for vanilla Tutor and another for Tutor+quickdev.
      • Plugin would need to maintained.
      • Installing quickdev is less seamless than it just being installed out-of-the-box.
  3. Merge upstream fixes into edx-platform et al in order to alleviate the underlying problems.
    • Pros:
      • Dev workflow improvements are available to all Open edX devs, whether they use Tutor or not.
      • Nothing new to maintain: no additional Tutor core code nor additional Tutor plugin.
      • Avoids making vanilla tutor dev more stateful.
      • Keeps vanilla tutor dev behavior similar to tutor local.
    • Cons:
      • Seems to require the greatest development effort.
      • Less certain of a solution, since we don't have a proof-of-concept yet.

We could take a combination of paths (1+3 or 2+3). We could also start with a path and then reevaluate later (do 2 now, and consider 1 again later).

Note

This issue was previously broken into two separate issues:

We've combined them into one issue because they share similar root causes and possible solutions.

Tasks

Evaluate the three paths forward. Prototype as necessary. Implement at least one of them.

#### Options
- [ ] https://github.com/openedx/wg-developer-experience/issues/148
- [ ] https://github.com/openedx/wg-developer-experience/issues/147
- [ ] https://github.com/openedx/wg-developer-experience/issues/146  
@kdmccormick kdmccormick self-assigned this Dec 21, 2022
@kdmccormick kdmccormick changed the title Improve workflows for running locally-changed code Next steps on TEP for a quicker developent workflow Jan 5, 2023
@kdmccormick kdmccormick changed the title Next steps on TEP for a quicker developent workflow Implement a quicker development workflow for Tutor Jan 5, 2023
@kdmccormick kdmccormick changed the title Implement a quicker development workflow for Tutor Improve tutor dev workflows for locally-changed code Jan 5, 2023
@kdmccormick
Copy link
Collaborator Author

I am currently working on Option 3: #146. We'll see how it goes.

@kdmccormick kdmccormick added the epic Large unit of work, consisting of multiple tasks label Mar 6, 2023
@kdmccormick kdmccormick changed the title Improve tutor dev workflows for locally-changed code Tutor Adoption: Devstack Parity: Dev Workflows Mar 19, 2023
@kdmccormick kdmccormick changed the title Tutor Adoption: Devstack Parity: Dev Workflows Tutor Adoption 4: Devstack Parity: Dev Workflows Mar 20, 2023
@kdmccormick
Copy link
Collaborator Author

We have eliminated all options except:

so I'm closing this issue in favor of that issue.

@kdmccormick kdmccormick closed this as not planned Won't fix, can't repro, duplicate, stale Sep 7, 2023
@kdmccormick kdmccormick added the duplicate This issue or pull request already exists elsewhere label Sep 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
duplicate This issue or pull request already exists elsewhere epic Large unit of work, consisting of multiple tasks
Projects
None yet
Development

No branches or pull requests

1 participant