Skip to content

[SD-1869] migrate to ddev - #773

Merged
vincent-gao merged 15 commits into
developfrom
move-to-ddev
Aug 3, 2026
Merged

[SD-1869] migrate to ddev#773
vincent-gao merged 15 commits into
developfrom
move-to-ddev

Conversation

@vincent-gao

@vincent-gao vincent-gao commented May 7, 2026

Copy link
Copy Markdown
Contributor

…contrib.

- Adopt ddev/ddev-drupal-contrib: module repo is the composer root, `ddev poser`
  builds a disposable Drupal site into web/, `ddev symlink-project` symlinks the
  module into web/modules/custom/tide_core (live code edits, no sync step).
- Fold composer.dev.json into composer.json (require-dev, autoload-dev,
  allow-plugins, full installer-paths targeting web/); tide_test now comes from
  the monorepo, not a separate VCS repo.
- Pin dev-site core via DRUPAL_CORE=10.6.x in .ddev/config.yaml.
- Add services: Elasticsearch 7.17 add-on, Selenium Chrome add-on, custom
  ClamAV compose file (tide_core hard-depends on clamav module).
- Add `ddev install-site` command (testing profile + tide_core/tide_test,
  points clamav at the local ddev service).
- Point behat.yml/phpunit.xml.dist at web/ docroot and ddev service hostnames;
  phpunit unit suite now also covers modules/*/tests/src/Unit.
Replaced by DDEV (see previous commit). CircleCI scripts still reference
ahoy and need a follow-up rewrite.
SD-1341 (44f83b5) changed makeMenuName() to append term ids and truncate
the result to 32 characters, but the test still stubbed only getName().
Stub id() on mocked terms and update the provider to expect id-based,
truncated menu names. This was never caught because the legacy CI phpunit
suite path (./dpc-sdp/*/tests/src/Unit) did not cover module unit tests.
The tide_build job now provisions the same DDEV environment as local
development (start, poser, symlink-project, install-site), lints with
phpcs and runs the tide_core unit and Behat suites. Per-module Behat
suites and the export_config job are commented out pending follow-up.
Also excluded DDEV-generated files from phpcs.
@vincent-gao vincent-gao changed the title move to ddev - init migrate to ddev Jul 5, 2026
views.view.media_report and views.view.tide_content_report depend on
user.role.administrator, which tide_core only provides as optional config.
During a site installation with the tide profile, optional config is
deferred to the end of the install, so tide_site's install-time config
failed validation with an UnmetDependenciesException. As optional config,
the views are imported at the end of installation, after the role exists.

Updated tide_site_update_10005/10006/10007 to read the view config from
config/optional accordingly.

Verified with a fresh 'drush si tide' via the tide repo DDEV build.
@vincent-gao
vincent-gao marked this pull request as ready for review July 23, 2026 03:31
@vincent-gao vincent-gao changed the title migrate to ddev [SD-1869] migrate to ddev Jul 23, 2026
@vincent-gao
vincent-gao force-pushed the move-to-ddev branch 2 times, most recently from 3b3ced2 to 8055297 Compare July 30, 2026 03:21

@MdNadimHossain MdNadimHossain left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

probably we should add ddev build in the readme as well
and what thing I had to fix is and may be we can add this in troubleshoot doc -
if this error happens -

Failed to start tide-core: container(s) failed to become healthy before their configured timeout or in 120 seconds.
This might be a problem with the healthcheck and not a functional problem.
The error was 'ddev-tide-core-opensearch container exited.

Troubleshoot this with these commands:

  - ddev logs -s opensearch
  - docker logs ddev-tide-core-opensearch
  - docker inspect --format "{{ json .State.Health }}" ddev-tide-core-opensearch | docker run -i --rm ddev/ddev-utilities jq -r

look into the logs and it is because of -

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

and this fixed it for me -
docker run --privileged --rm --pid=host alpine sysctl -w vm.max_map_count=262144

@vincent-gao

Copy link
Copy Markdown
Contributor Author

probably we should add ddev build in the readme as well and what thing I had to fix is and may be we can add this in troubleshoot doc - if this error happens -

Failed to start tide-core: container(s) failed to become healthy before their configured timeout or in 120 seconds.
This might be a problem with the healthcheck and not a functional problem.
The error was 'ddev-tide-core-opensearch container exited.

Troubleshoot this with these commands:

  - ddev logs -s opensearch
  - docker logs ddev-tide-core-opensearch
  - docker inspect --format "{{ json .State.Health }}" ddev-tide-core-opensearch | docker run -i --rm ddev/ddev-utilities jq -r

look into the logs and it is because of -

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

and this fixed it for me - docker run --privileged --rm --pid=host alpine sysctl -w vm.max_map_count=262144

Hi @MdNadimHossain I have updated the readme.md

@vincent-gao
vincent-gao merged commit 573f94d into develop Aug 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants