Skip to content
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

Make refresh commands runnable inside container for ddev #205

Merged
merged 8 commits into from
Oct 1, 2024

Conversation

apotek
Copy link
Contributor

@apotek apotek commented Mar 20, 2024

As described in #204, we can't run robo refresh divorced from the host OS when using ddev because unfortunately the ddev-specific implementations are using ddev commands, which cannot be run inside the container.

Removing the reliance on those commands and using native drupal/drush instead, allows us to run the robo refresh sequence entirely within the service container, meaning the developer doesn't have to futz with php versions, composer etc, on the host OS.

Resolves #204

@apotek apotek requested a review from mmatsoo March 20, 2024 03:57
@apotek apotek changed the title Run refresh commands inside container for ddev Make refresh commands runnable inside container for ddev Mar 20, 2024
@apotek apotek self-assigned this Mar 20, 2024
@apotek apotek requested a review from mattdaniel March 20, 2024 19:18
@apotek
Copy link
Contributor Author

apotek commented Mar 21, 2024

@mmatsoo / @mattdaniel Wondering if either of you have the bandwidth to look at this Usher change, allowing refresh to happen within the container instead of having to run it in the host OS context.

Copy link
Member

@mmatsoo mmatsoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 I left one comment for contemplation, but looks good.

@apotek
Copy link
Contributor Author

apotek commented Mar 22, 2024

I am going to add this to devops agenda or tech back end meeting of some sort so I can broadcast the implications of this change.

@apotek
Copy link
Contributor Author

apotek commented Jul 19, 2024

@mattdaniel I'd love your eyeballs on this at some point.

@apotek
Copy link
Contributor Author

apotek commented Aug 15, 2024

Run a comparison on an in-container database load versus using ddev import-db for a site like JFK.

@mattdaniel Makes the point that implementing this does not remove the possibility of using the ddev native database import.

@agarzola It is important to engineer our tooling so that it can be more agnostic, more composable. So the less we build in assumptions about lando or ddev into our tooling and can create implementation-neutral tooling, the better. So our composer commands should prefer to not mention ddev.

@apotek
Copy link
Contributor Author

apotek commented Aug 19, 2024

Going to hold off on merging this until the next devops council so we can broadcast the change and any potential fallout. Also not good to release this during time I am out of office.

@apotek
Copy link
Contributor Author

apotek commented Sep 12, 2024

We need a rollout plan for this to minimize disruptions.

  1. When a site lead decided to update usher, what needs to be communicated to end users?
  2. How to best add the .ddev/commands/web/robo command to each site?
  3. Should this be a breaking usher version change? (ie, move from 4 to 5 and if we go from 4 to 5 should we also upgrade robo to v5?).
  • Investigate if robo5 introduces any breaking changes.
  • Decide on including a ddev "robo" command in each repo or as a ddev add-on
  • Come up with boiler plate "README" for the update that each tech lead can use to change their README andn communicate procedure changes into their own project's README (also with our clients).
#! /bin/bash
## Description: Runs robo inside ddev
## Usage: robo
## Example: "ddev robo deploy:drupal"
./vendor/bin/robo $@

@apotek apotek merged commit 50021f7 into 4.x Oct 1, 2024
5 checks passed
@apotek apotek deleted the 204-ddev-no-ddev branch October 1, 2024 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants