Skip to content

[#2715] Prefixed all tooling scripts with 'vortex-' and surfaced user-facing ones as Composer binaries.#2741

Open
AlexSkrypnyk wants to merge 6 commits into
mainfrom
feature/2715-tooling-vendor-bin
Open

[#2715] Prefixed all tooling scripts with 'vortex-' and surfaced user-facing ones as Composer binaries.#2741
AlexSkrypnyk wants to merge 6 commits into
mainfrom
feature/2715-tooling-vendor-bin

Conversation

@AlexSkrypnyk

@AlexSkrypnyk AlexSkrypnyk commented Jun 26, 2026

Copy link
Copy Markdown
Member

Closes #2715

Summary

All 42 tooling shell scripts in drevops/vortex-tooling are now prefixed with vortex- and the 15 user-facing entrypoints (deploy, doctor, export-db, fetch-db, import-db, info, login, login-container-registry, logout, notify, provision, push-db-image, reset, task, update) are declared in the package's bin array so Composer installs them as vendor/bin/vortex-*. Internal sub-scripts (e.g. vortex-deploy-artifact, vortex-fetch-db-s3) gain the prefix but are not surfaced as binaries. All callers - .ahoy.yml, .lagoon.yml, GitHub Actions, CircleCI, Acquia hooks, and the host-side scripts/vortex-tooling.sh bootstrap - now reference vendor/bin/vortex-*. The root composer.json constraint is tightened from ^1.2.0 to ~1.2.0 to allow patch-only updates for the tooling package.

Changes

  • Renamed all 42 scripts in .vortex/tooling/src/ from <name> to vortex-<name> (including update-vortex -> vortex-update) and updated every internal sibling reference within those scripts.
  • Added a 15-entry bin array to .vortex/tooling/composer.json listing the user-facing entrypoints; sub-scripts are prefixed but unlisted.
  • Rewired all callers to vendor/bin/vortex-* across .ahoy.yml, .lagoon.yml, .github/workflows/build-test-deploy.yml, .circleci/config.yml, and hooks/library/*.sh.
  • Extended scripts/vortex-tooling.sh to move the vortex-* bin proxies from the throwaway Composer project into vendor/bin/ so host-side recipes can invoke vendor/bin/vortex-* before the project's full composer install has run.
  • Tightened the root composer.json constraint from ^1.2.0 to ~1.2.0.
  • Updated all BATS unit tests in .vortex/tooling/tests/unit/ and the PHPUnit test harness (SutTrait, DockerComposeWorkflowTest) to reference the new script paths.
  • Updated docs and regenerated installer fixtures and .circleci/vortex-test-common.yml.

Screenshots

N/A - non-visual change.

Before / After

BEFORE
──────────────────────────────────────────────────────────────────────
Scripts in package:

  .vortex/tooling/src/
  ├── deploy
  ├── deploy-artifact
  ├── deploy-lagoon
  ├── fetch-db
  ├── fetch-db-s3
  ├── provision
  ├── update-vortex
  └── ... (42 scripts, unprefixed, no bin entries)

Callers invoke via deep package path:

  ahoy cli ./vendor/drevops/vortex-tooling/src/provision
  ./vendor/drevops/vortex-tooling/src/fetch-db
  ./vendor/drevops/vortex-tooling/src/deploy

No Composer bin entries; scripts not on PATH.

AFTER
──────────────────────────────────────────────────────────────────────
Scripts in package:

  .vortex/tooling/src/
  ├── vortex-deploy            <- user-facing, listed in bin[]
  ├── vortex-deploy-artifact   <- internal, prefixed only
  ├── vortex-deploy-lagoon     <- internal, prefixed only
  ├── vortex-fetch-db          <- user-facing, listed in bin[]
  ├── vortex-fetch-db-s3       <- internal, prefixed only
  ├── vortex-provision         <- user-facing, listed in bin[]
  ├── vortex-update            <- user-facing, listed in bin[]
  └── ... (42 scripts, all prefixed)

Callers invoke via namespaced Composer binary:

  ahoy cli ./vendor/bin/vortex-provision
  ./vendor/bin/vortex-fetch-db
  ./vendor/bin/vortex-deploy

15 user-facing scripts available as 'vendor/bin/vortex-*' on PATH.
Host-side bootstrap provisions those bins before full composer install.

Summary by CodeRabbit

  • New Features

    • Exposed Vortex tooling through standard vendor/bin/vortex-* binaries for local scripts and automation.
  • Bug Fixes

    • Updated CI/CD workflows, hooks, and provisioning/database export/import flows to use the new binary entrypoints.
    • Aligned dispatch/routing to the renamed Vortex entrypoints (including fetch/export/provision/notifications).
  • Documentation

    • Refreshed installation guidance and all command examples to reference vendor/bin/vortex-*.
  • Tests

    • Updated functional and unit tests to execute the new vendor/bin/vortex-* tooling entrypoints.

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@AlexSkrypnyk, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 21 minutes and 27 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 47361ac6-911e-4b8a-8aa3-a5ae4c173f20

📥 Commits

Reviewing files that changed from the base of the PR and between 72fda91 and ca84056.

📒 Files selected for processing (7)
  • .vortex/tests/phpunit/Traits/SutTrait.php
  • .vortex/tooling/playground/try-notify-email.sh
  • .vortex/tooling/playground/try-notify-github.sh
  • .vortex/tooling/playground/try-notify-jira.sh
  • .vortex/tooling/playground/try-notify-newrelic.sh
  • .vortex/tooling/playground/try-notify-slack.sh
  • .vortex/tooling/playground/try-notify-webhook.sh

Walkthrough

The PR renames Vortex tooling entrypoints to vortex-*, exposes them as Composer binaries under vendor/bin/, and updates consumer config, docs, and tests to call the new paths.

Changes

Vortex binary namespace rollout

Layer / File(s) Summary
Package bins and installer
composer.json, .vortex/tooling/composer.json, scripts/vortex-tooling.sh
drevops/vortex-tooling adds bin entries for the vortex-* executables, the installer moves generated proxies into vendor/bin/, and the root constraint changes to ~1.2.0.
Tooling routers and helpers
.vortex/tooling/src/vortex-{deploy,deploy-artifact,deploy-lagoon,export-db,fetch-db,fetch-db-container-registry,fetch-db-lagoon,import-db,info,notify,provision,push-container-registry,push-db-image,task,task-custom-lagoon}
Top-level tooling routers and helper scripts now dispatch to renamed sibling scripts, update SSH/registry helper names, and change the generated login-link target.
Consumer command wiring
.ahoy.yml, .circleci/{config.yml,vortex-test-common.yml}, .github/workflows/build-test-deploy.yml, .lagoon.yml, hooks/library/*.sh
Ahoy, CircleCI, GitHub Actions, Lagoon, and hook commands switch from legacy tooling paths to installed vendor/bin/vortex-* entrypoints.
Docs and examples
.vortex/{CLAUDE.md,docs/content/.../README.mdx,tooling/README.md,tooling/playground/README.md,tooling/playground/*.sh}
Tooling documentation, development examples, and playground scripts reference the new installed binary paths.
Unit and functional tests
.vortex/tests/phpunit/{Functional/DockerComposeWorkflowTest.php,Traits/SutTrait.php}, .vortex/tooling/tests/unit/*.bats
PHP functional tests, SUT helpers, and Bats suites update command invocations, mocks, and expected helper filenames to the renamed vortex-* scripts.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • drevops/vortex#2505: Updates the same tooling call sites to route Vortex commands through vendored tooling paths, which this PR now moves to vendor/bin/vortex-*.
  • drevops/vortex#2721: Touches the Acquia hook entrypoints that this PR rewires to ./vendor/bin/vortex-task and related binaries.
  • drevops/vortex#2740: Renames and hardens the S3 push tooling that this PR updates in the playground scripts and tests.

Suggested labels

Needs review

Poem

A bunny hopped through vendor/bin,
and found the Vortex scripts within.
fetch, notify, deploy took flight,
all wearing vortex- coats so bright.
I twitched my nose and cheered, “Hooray!”
The old paths hopped away.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: prefixed vortex tooling scripts and exposing user-facing ones as Composer binaries.
Linked Issues check ✅ Passed The PR matches #2715: scripts are renamed to vortex-*, internal references and callers are updated, the Composer bin list is added, and the version constraint is tightened.
Out of Scope Changes check ✅ Passed The changed docs, tests, fixtures, and bootstrap updates all support the renamed tooling and binary exposure; no unrelated code changes stand out.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/2715-tooling-vendor-bin

Comment @coderabbitai help to get the list of available commands.

@AlexSkrypnyk AlexSkrypnyk added this to the 1.40.0 milestone Jun 26, 2026
@AlexSkrypnyk AlexSkrypnyk added the A4 Board worker 4 label Jun 26, 2026
@github-actions

This comment has been minimized.

@AlexSkrypnyk

This comment has been minimized.

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
{"name":"HttpError","status":500,"request":{"method":"PATCH","url":"https://api.github.com/repos/drevops/vortex/issues/comments/4809397307","headers":{"accept":"application/vnd.github.v3+json","user-agent":"octokit.js/0.0.0-development octokit-core.js/7.0.6 Node.js/24","content-type":"application/json; charset=utf-8"},"body":{"body":"<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\n<!-- review_stack_entry_start -->\n\n[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/drevops/vortex/pull/2741?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)\n\n<!-- review_stack_entry_end -->\n<!-- This is an auto-generated comment: review in progress by coderabbit.ai -->\n\n> [!NOTE]\n> Currently processing new changes in this PR. This may take a few minutes, please wait...\n> \n> <details>\n> <summary>⚙️ Run configuration</summary>\n> \n> **Configuration used**: Repository UI\n> \n> **Review profile**: ASSERTIVE\n> \n> **Plan**: Pro Plus\n> \n> **Run ID**: `bbd37e8f-f917-4db9-9265-24f2b3c10e52`\n> \n> </details>\n> \n> <details>\n> <summary>📥 Commits</summary>\n> \n> Reviewing files that changed from the base of the PR and between 1e3d033c616d802ad5eb2560ff4503e229cc0006 and b3b6176f865b314036a84ebe208ac93b429ea7f6.\n> \n> </details>\n> \n> <details>\n> <summary>⛔ Files ignored due to path filters (70)</summary>\n> \n> * `.vortex/installer/tests/Fixtures/handler_process/_baseline/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/_baseline/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/_baseline/scripts/vortex-tooling.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/code_coverage_provider_codecov_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/custom_modules_search_without_solr/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/db_fetch_source_acquia/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/deploy_types_none_gha/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/copy-db.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/copy-files.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/notify-deployment.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/provision.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/purge-cache.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_lagoon/.lagoon.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/copy-db.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/copy-files.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/notify-deployment.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/provision.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/purge-cache.sh` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/hosting_project_name___lagoon/.lagoon.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_disabled_lagoon/.lagoon.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_enabled/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_enabled/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.lagoon.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_acquia/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_acquia/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_container_registry/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_container_registry/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_ftp/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_ftp/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_lagoon/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_lagoon/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_s3/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_s3/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_url/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_url/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/provision_database_lagoon/.lagoon.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/provision_profile/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/provision_profile/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/services_no_solr/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/services_none/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/timezone_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.ahoy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_no_jest/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/.circleci/config.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> * `.vortex/installer/tests/Fixtures/handler_process/tools_none/.github/workflows/build-test-deploy.yml` is excluded by `!.vortex/installer/tests/Fixtures/**`\n> \n> </details>\n> \n> <details>\n> <summary>📒 Files selected for processing (101)</summary>\n> \n> * `.ahoy.yml`\n> * `.circleci/config.yml`\n> * `.circleci/vortex-test-common.yml`\n> * `.github/workflows/build-test-deploy.yml`\n> * `.lagoon.yml`\n> * `.vortex/CLAUDE.md`\n> * `.vortex/docs/content/deployment/README.mdx`\n> * `.vortex/docs/content/drupal/provision.mdx`\n> * `.vortex/tests/phpunit/Functional/DockerComposeWorkflowTest.php`\n> * `.vortex/tests/phpunit/Traits/SutTrait.php`\n> * `.vortex/tooling/README.md`\n> * `.vortex/tooling/composer.json`\n> * `.vortex/tooling/playground/README.md`\n> * `.vortex/tooling/playground/try-fetch-db-s3.sh`\n> * `.vortex/tooling/playground/try-notify-email.sh`\n> * `.vortex/tooling/playground/try-notify-github.sh`\n> * `.vortex/tooling/playground/try-notify-jira.sh`\n> * `.vortex/tooling/playground/try-notify-newrelic.sh`\n> * `.vortex/tooling/playground/try-notify-slack.sh`\n> * `.vortex/tooling/playground/try-notify-webhook.sh`\n> * `.vortex/tooling/playground/try-push-db-s3.sh`\n> * `.vortex/tooling/src/vortex-deploy`\n> * `.vortex/tooling/src/vortex-deploy-artifact`\n> * `.vortex/tooling/src/vortex-deploy-lagoon`\n> * `.vortex/tooling/src/vortex-deploy-webhook`\n> * `.vortex/tooling/src/vortex-doctor`\n> * `.vortex/tooling/src/vortex-export-db`\n> * `.vortex/tooling/src/vortex-export-db-file`\n> * `.vortex/tooling/src/vortex-export-db-image`\n> * `.vortex/tooling/src/vortex-fetch-db`\n> * `.vortex/tooling/src/vortex-fetch-db-acquia`\n> * `.vortex/tooling/src/vortex-fetch-db-container-registry`\n> * `.vortex/tooling/src/vortex-fetch-db-ftp`\n> * `.vortex/tooling/src/vortex-fetch-db-lagoon`\n> * `.vortex/tooling/src/vortex-fetch-db-s3`\n> * `.vortex/tooling/src/vortex-fetch-db-url`\n> * `.vortex/tooling/src/vortex-import-db`\n> * `.vortex/tooling/src/vortex-import-db-file`\n> * `.vortex/tooling/src/vortex-info`\n> * `.vortex/tooling/src/vortex-login`\n> * `.vortex/tooling/src/vortex-login-container-registry`\n> * `.vortex/tooling/src/vortex-logout`\n> * `.vortex/tooling/src/vortex-notify`\n> * `.vortex/tooling/src/vortex-notify-diffy`\n> * `.vortex/tooling/src/vortex-notify-email`\n> * `.vortex/tooling/src/vortex-notify-github`\n> * `.vortex/tooling/src/vortex-notify-jira`\n> * `.vortex/tooling/src/vortex-notify-newrelic`\n> * `.vortex/tooling/src/vortex-notify-slack`\n> * `.vortex/tooling/src/vortex-notify-webhook`\n> * `.vortex/tooling/src/vortex-provision`\n> * `.vortex/tooling/src/vortex-provision-sanitize-db`\n> * `.vortex/tooling/src/vortex-push-container-registry`\n> * `.vortex/tooling/src/vortex-push-db-image`\n> * `.vortex/tooling/src/vortex-push-db-s3`\n> * `.vortex/tooling/src/vortex-reset`\n> * `.vortex/tooling/src/vortex-setup-ssh`\n> * `.vortex/tooling/src/vortex-task`\n> * `.vortex/tooling/src/vortex-task-copy-db-acquia`\n> * `.vortex/tooling/src/vortex-task-copy-files-acquia`\n> * `.vortex/tooling/src/vortex-task-custom-lagoon`\n> * `.vortex/tooling/src/vortex-task-purge-cache-acquia`\n> * `.vortex/tooling/src/vortex-update`\n> * `.vortex/tooling/tests/unit/deploy-artifact.bats`\n> * `.vortex/tooling/tests/unit/deploy-lagoon.bats`\n> * `.vortex/tooling/tests/unit/deploy-webhook.bats`\n> * `.vortex/tooling/tests/unit/deploy.bats`\n> * `.vortex/tooling/tests/unit/export-db.bats`\n> * `.vortex/tooling/tests/unit/fetch-db-acquia.bats`\n> * `.vortex/tooling/tests/unit/fetch-db-container-registry.bats`\n> * `.vortex/tooling/tests/unit/fetch-db-ftp.bats`\n> * `.vortex/tooling/tests/unit/fetch-db-lagoon.bats`\n> * `.vortex/tooling/tests/unit/fetch-db-s3.bats`\n> * `.vortex/tooling/tests/unit/fetch-db-url.bats`\n> * `.vortex/tooling/tests/unit/fetch-db.bats`\n> * `.vortex/tooling/tests/unit/import-db-file.bats`\n> * `.vortex/tooling/tests/unit/import-db.bats`\n> * `.vortex/tooling/tests/unit/login-container-registry.bats`\n> * `.vortex/tooling/tests/unit/notify-diffy.bats`\n> * `.vortex/tooling/tests/unit/notify-email.bats`\n> * `.vortex/tooling/tests/unit/notify-github.bats`\n> * `.vortex/tooling/tests/unit/notify-jira.bats`\n> * `.vortex/tooling/tests/unit/notify-newrelic.bats`\n> * `.vortex/tooling/tests/unit/notify-slack.bats`\n> * `.vortex/tooling/tests/unit/notify-webhook.bats`\n> * `.vortex/tooling/tests/unit/notify.bats`\n> * `.vortex/tooling/tests/unit/provision.bats`\n> * `.vortex/tooling/tests/unit/push-container-registry.bats`\n> * `.vortex/tooling/tests/unit/push-db-image.bats`\n> * `.vortex/tooling/tests/unit/push-db-s3.bats`\n> * `.vortex/tooling/tests/unit/reset.bats`\n> * `.vortex/tooling/tests/unit/setup-ssh.bats`\n> * `.vortex/tooling/tests/unit/task.bats`\n> * `.vortex/tooling/tests/unit/update-vortex.bats`\n> * `composer.json`\n> * `hooks/library/copy-db.sh`\n> * `hooks/library/copy-files.sh`\n> * `hooks/library/notify-deployment.sh`\n> * `hooks/library/provision.sh`\n> * `hooks/library/purge-cache.sh`\n> * `scripts/vortex-tooling.sh`\n> \n> </details>\n> \n> ```ascii\n>  ______________________________________________________\n> < Review complete: I laughed, I cried, I filed issues. >\n>  ------------------------------------------------------\n>   \\\n>    \\   \\\n>         \\ /\\\n>         ( )\n>       .( o ).\n> ```\n\n<!-- end of auto-generated comment: review in progress by coderabbit.ai -->\n\n<!-- finishing_touch_checkbox_start -->\n\n<details>\n<summary>✨ Finishing Touches</summary>\n\n<details>\n<summary>📝 Generate docstrings</summary>\n\n- [ ] <!-- {\"checkboxId\": \"7962f53c-55bc-4827-bfbf-6a18da830691\"} --> Create stacked PR\n- [ ] <!-- {\"checkboxId\": \"3e1879ae-f29b-4d0d-8e06-d12b7ba33d98\"} --> Commit on current branch\n\n</details>\n<details>\n<summary>🧪 Generate unit tests (beta)</summary>\n\n- [ ] <!-- {\"checkboxId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\", \"radioGroupId\": \"utg-output-choice-group-unknown_comment_id\"} -->   Create PR with unit tests\n- [ ] <!-- {\"checkboxId\": \"6ba7b810-9dad-11d1-80b4-00c04fd430c8\", \"radioGroupId\": \"utg-output-choice-group-unknown_comment_id\"} -->   Commit unit tests in branch `feature/2715-tooling-vendor-bin`\n\n</details>\n\n</details>\n\n<!-- finishing_touch_checkbox_end -->\n<!-- tips_start -->\n\n---\n\n\n\n\n<sub>Comment `@coderabbitai help` to get the list of available commands.</sub>\n\n<!-- tips_end -->"},"request":{"retryCount":3,"signal":{},"retries":3,"retryAfter":16}}}

@AlexSkrypnyk

This comment has been minimized.

1 similar comment
@AlexSkrypnyk

This comment has been minimized.

@codecov

codecov Bot commented Jun 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.24%. Comparing base (1e3d033) to head (ca84056).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2741      +/-   ##
==========================================
- Coverage   86.67%   86.24%   -0.44%     
==========================================
  Files          96       89       -7     
  Lines        4719     4564     -155     
  Branches       47        3      -44     
==========================================
- Hits         4090     3936     -154     
+ Misses        629      628       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown

📖 Documentation preview for this pull request has been deployed to Netlify:

https://6a3e87ccad4fcf540123e664--vortex-docs.netlify.app

This preview is rebuilt on every commit and is not the production documentation site.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
scripts/vortex-tooling.sh (1)

23-25: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Don't exit before backfilling the new vendor/bin entrypoints.

Because Line 24 still short-circuits on the old package directory alone, any checkout that already bootstrapped the pre-rename tooling will never run this new proxy-move block. After this PR, .ahoy.yml and the hooks call ./vendor/bin/vortex-*, so those upgraded worktrees will fail until a full composer install happens. Please gate the early exit on the new binaries already existing (or on the installed tooling version matching) and regenerate them when they're missing.

Also applies to: 85-96

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/vortex-tooling.sh` around lines 23 - 25, The early return in
vortex-tooling.sh is still keyed only off the legacy
vendor/drevops/vortex-tooling directory, so upgraded checkouts can skip the new
vendor/bin proxy generation and break the renamed vortex-* entrypoints. Update
the exit condition in vortex-tooling.sh (and the proxy-move block it guards) to
only short-circuit when the new binaries are already present or the installed
tooling version matches, and make sure the backfill logic runs whenever
vendor/bin/vortex-* is missing.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.vortex/tooling/playground/try-notify-email.sh:
- Line 75: Update the try-notify-email.sh script to invoke the published
Composer binary instead of the internal package source path. Replace the
hardcoded vortex-tooling src reference with the stable vendor/bin/vortex-notify
entrypoint so the script uses the intended public contract; the relevant symbol
to locate is the vortex-notify command invocation in the shell script.

In @.vortex/tooling/playground/try-notify-github.sh:
- Line 84: The playground script is still invoking the package-internal
vortex-notify path instead of the Composer-installed binary, so update
try-notify-github.sh to use vendor/bin/vortex-notify consistently. Make the
change in the command assignment near the existing vortex-notify reference so
the script exercises the published interface rather than src/vortex-notify.

In @.vortex/tooling/playground/try-notify-jira.sh:
- Line 81: The playground runner is still invoking the package source path
instead of the published entrypoint. Update the command in try-notify-jira.sh to
use vendor/bin/vortex-notify rather than the direct
vendor/drevops/vortex-tooling/src/vortex-notify target, so the script exercises
the same binary exposed by the package.

---

Outside diff comments:
In `@scripts/vortex-tooling.sh`:
- Around line 23-25: The early return in vortex-tooling.sh is still keyed only
off the legacy vendor/drevops/vortex-tooling directory, so upgraded checkouts
can skip the new vendor/bin proxy generation and break the renamed vortex-*
entrypoints. Update the exit condition in vortex-tooling.sh (and the proxy-move
block it guards) to only short-circuit when the new binaries are already present
or the installed tooling version matches, and make sure the backfill logic runs
whenever vendor/bin/vortex-* is missing.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: bbd37e8f-f917-4db9-9265-24f2b3c10e52

📥 Commits

Reviewing files that changed from the base of the PR and between 1e3d033 and b3b6176.

⛔ Files ignored due to path filters (70)
  • .vortex/installer/tests/Fixtures/handler_process/_baseline/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/_baseline/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/_baseline/scripts/vortex-tooling.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/code_coverage_provider_codecov_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/custom_modules_search_without_solr/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/db_fetch_source_acquia/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/deploy_types_all_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/deploy_types_none_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/deploy_types_none_gha/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/deps_updates_provider_ci_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/copy-db.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/copy-files.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/notify-deployment.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/provision.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/hooks/library/purge-cache.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_lagoon/.lagoon.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/copy-db.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/copy-files.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/notify-deployment.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/provision.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/hooks/library/purge-cache.sh is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___lagoon/.lagoon.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_disabled_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_disabled_lagoon/.lagoon.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_enabled/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_enabled/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_enabled_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_enabled_lagoon/.lagoon.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_acquia/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_acquia/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_container_registry/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_container_registry/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_ftp/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_ftp/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_lagoon/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_lagoon/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_s3/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_s3/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_url/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/migration_fetch_source_url/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/provision_database_lagoon/.lagoon.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/provision_profile/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/provision_profile/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/services_no_solr/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/services_none/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/timezone_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.ahoy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_fe_lint_no_theme_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_eslint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_jest/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_jest_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_stylelint_circleci/.circleci/config.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_none/.github/workflows/build-test-deploy.yml is excluded by !.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (101)
  • .ahoy.yml
  • .circleci/config.yml
  • .circleci/vortex-test-common.yml
  • .github/workflows/build-test-deploy.yml
  • .lagoon.yml
  • .vortex/CLAUDE.md
  • .vortex/docs/content/deployment/README.mdx
  • .vortex/docs/content/drupal/provision.mdx
  • .vortex/tests/phpunit/Functional/DockerComposeWorkflowTest.php
  • .vortex/tests/phpunit/Traits/SutTrait.php
  • .vortex/tooling/README.md
  • .vortex/tooling/composer.json
  • .vortex/tooling/playground/README.md
  • .vortex/tooling/playground/try-fetch-db-s3.sh
  • .vortex/tooling/playground/try-notify-email.sh
  • .vortex/tooling/playground/try-notify-github.sh
  • .vortex/tooling/playground/try-notify-jira.sh
  • .vortex/tooling/playground/try-notify-newrelic.sh
  • .vortex/tooling/playground/try-notify-slack.sh
  • .vortex/tooling/playground/try-notify-webhook.sh
  • .vortex/tooling/playground/try-push-db-s3.sh
  • .vortex/tooling/src/vortex-deploy
  • .vortex/tooling/src/vortex-deploy-artifact
  • .vortex/tooling/src/vortex-deploy-lagoon
  • .vortex/tooling/src/vortex-deploy-webhook
  • .vortex/tooling/src/vortex-doctor
  • .vortex/tooling/src/vortex-export-db
  • .vortex/tooling/src/vortex-export-db-file
  • .vortex/tooling/src/vortex-export-db-image
  • .vortex/tooling/src/vortex-fetch-db
  • .vortex/tooling/src/vortex-fetch-db-acquia
  • .vortex/tooling/src/vortex-fetch-db-container-registry
  • .vortex/tooling/src/vortex-fetch-db-ftp
  • .vortex/tooling/src/vortex-fetch-db-lagoon
  • .vortex/tooling/src/vortex-fetch-db-s3
  • .vortex/tooling/src/vortex-fetch-db-url
  • .vortex/tooling/src/vortex-import-db
  • .vortex/tooling/src/vortex-import-db-file
  • .vortex/tooling/src/vortex-info
  • .vortex/tooling/src/vortex-login
  • .vortex/tooling/src/vortex-login-container-registry
  • .vortex/tooling/src/vortex-logout
  • .vortex/tooling/src/vortex-notify
  • .vortex/tooling/src/vortex-notify-diffy
  • .vortex/tooling/src/vortex-notify-email
  • .vortex/tooling/src/vortex-notify-github
  • .vortex/tooling/src/vortex-notify-jira
  • .vortex/tooling/src/vortex-notify-newrelic
  • .vortex/tooling/src/vortex-notify-slack
  • .vortex/tooling/src/vortex-notify-webhook
  • .vortex/tooling/src/vortex-provision
  • .vortex/tooling/src/vortex-provision-sanitize-db
  • .vortex/tooling/src/vortex-push-container-registry
  • .vortex/tooling/src/vortex-push-db-image
  • .vortex/tooling/src/vortex-push-db-s3
  • .vortex/tooling/src/vortex-reset
  • .vortex/tooling/src/vortex-setup-ssh
  • .vortex/tooling/src/vortex-task
  • .vortex/tooling/src/vortex-task-copy-db-acquia
  • .vortex/tooling/src/vortex-task-copy-files-acquia
  • .vortex/tooling/src/vortex-task-custom-lagoon
  • .vortex/tooling/src/vortex-task-purge-cache-acquia
  • .vortex/tooling/src/vortex-update
  • .vortex/tooling/tests/unit/deploy-artifact.bats
  • .vortex/tooling/tests/unit/deploy-lagoon.bats
  • .vortex/tooling/tests/unit/deploy-webhook.bats
  • .vortex/tooling/tests/unit/deploy.bats
  • .vortex/tooling/tests/unit/export-db.bats
  • .vortex/tooling/tests/unit/fetch-db-acquia.bats
  • .vortex/tooling/tests/unit/fetch-db-container-registry.bats
  • .vortex/tooling/tests/unit/fetch-db-ftp.bats
  • .vortex/tooling/tests/unit/fetch-db-lagoon.bats
  • .vortex/tooling/tests/unit/fetch-db-s3.bats
  • .vortex/tooling/tests/unit/fetch-db-url.bats
  • .vortex/tooling/tests/unit/fetch-db.bats
  • .vortex/tooling/tests/unit/import-db-file.bats
  • .vortex/tooling/tests/unit/import-db.bats
  • .vortex/tooling/tests/unit/login-container-registry.bats
  • .vortex/tooling/tests/unit/notify-diffy.bats
  • .vortex/tooling/tests/unit/notify-email.bats
  • .vortex/tooling/tests/unit/notify-github.bats
  • .vortex/tooling/tests/unit/notify-jira.bats
  • .vortex/tooling/tests/unit/notify-newrelic.bats
  • .vortex/tooling/tests/unit/notify-slack.bats
  • .vortex/tooling/tests/unit/notify-webhook.bats
  • .vortex/tooling/tests/unit/notify.bats
  • .vortex/tooling/tests/unit/provision.bats
  • .vortex/tooling/tests/unit/push-container-registry.bats
  • .vortex/tooling/tests/unit/push-db-image.bats
  • .vortex/tooling/tests/unit/push-db-s3.bats
  • .vortex/tooling/tests/unit/reset.bats
  • .vortex/tooling/tests/unit/setup-ssh.bats
  • .vortex/tooling/tests/unit/task.bats
  • .vortex/tooling/tests/unit/update-vortex.bats
  • composer.json
  • hooks/library/copy-db.sh
  • hooks/library/copy-files.sh
  • hooks/library/notify-deployment.sh
  • hooks/library/provision.sh
  • hooks/library/purge-cache.sh
  • scripts/vortex-tooling.sh

Comment thread .vortex/tooling/playground/try-notify-email.sh Outdated
Comment thread .vortex/tooling/playground/try-notify-github.sh Outdated
Comment thread .vortex/tooling/playground/try-notify-jira.sh Outdated
@github-actions

This comment has been minimized.

@AlexSkrypnyk

This comment has been minimized.

2 similar comments
@AlexSkrypnyk

This comment has been minimized.

@AlexSkrypnyk

This comment has been minimized.

@github-actions

This comment has been minimized.

@AlexSkrypnyk

This comment has been minimized.

2 similar comments
@AlexSkrypnyk

This comment has been minimized.

@AlexSkrypnyk

This comment has been minimized.

@github-actions

This comment has been minimized.

@AlexSkrypnyk

This comment has been minimized.

1 similar comment
@AlexSkrypnyk

This comment has been minimized.

@AlexSkrypnyk

This comment has been minimized.

@github-actions

Copy link
Copy Markdown

Code coverage (threshold: 90%)

  Classes: 100.00% (1/1)
  Methods: 100.00% (2/2)
  Lines:   98.55% (204/207)
Per-class coverage
Drupal\ys_demo\Plugin\Block\CounterBlock
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 10/ 10)

@AlexSkrypnyk

This comment has been minimized.

2 similar comments
@AlexSkrypnyk

This comment has been minimized.

@AlexSkrypnyk

Copy link
Copy Markdown
Member Author

Code coverage (threshold: 90%)

  Classes: 100.00% (1/1)
  Methods: 100.00% (2/2)
  Lines:   98.55% (204/207)
Per-class coverage
Drupal\ys_demo\Plugin\Block\CounterBlock
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 10/ 10)

@AlexSkrypnyk AlexSkrypnyk added the Needs review Pull request needs a review from assigned developers label Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A4 Board worker 4 Needs review Pull request needs a review from assigned developers

Projects

Status: BACKLOG

Development

Successfully merging this pull request may close these issues.

Link vortex-tooling scripts to 'vendor/bin/vortex/*'

1 participant