Skip to content

Replaced 'drevops/behat-format-progress-fail' with the Behat core 'inline_failures' option and updated 'behat/behat' to '^3.34.0'. - #3181

Merged
AlexSkrypnyk merged 2 commits into
mainfrom
feature/remove-progress-fail
Oct 5, 2026
Merged

AlexSkrypnyk merged 2 commits into
mainfrom
feature/remove-progress-fail

Conversation

@AlexSkrypnyk

@AlexSkrypnyk AlexSkrypnyk commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Summary

Behat now uses its core progress formatter with inline_failures: true under formatters.progress in behat.yml, so each failed, pending or undefined step prints inline as it happens, in ahoy test-bdd and in the CI Behat runs alike. The drevops/behat-format-progress-fail extension, which printed only failed steps inline, is gone from composer.json, behat.yml and the Behat tool entry in the installer's Tools.php.

drevops/behat-format-progress-fail 1.5.2 declares a conflict on behat/behat >=3.33, so requiring it at ^1.5.2 next to behat/behat ^3.33 or newer fails with "Your requirements could not be resolved", and the build and lint jobs stop at the Build stack step. The existing ^1.5.1 pin only kept installing because Composer could fall back to 1.5.1, and Behat 3.33.0 is the release that added inline_failures, so the package no longer fills a gap.

After merge, a failed step prints under --- FAILED --- instead of --- FAIL ---, and a pending or undefined step gets its own inline block instead of a P or U marker. Nothing in the repo matches on the old banner, and show_output stays unset because both formatters default it to in-summary. The recorded build video (.vortex/docs/static/img/build.json and build.svg) still shows the old package in its captured Composer output until the videos are regenerated. Behat 4.0.0 stays out of reach because drevops/behat-steps 3.14.4 declares a conflict on behat/behat >=4, which makes ^3.34.0 the newest usable Behat.

Before / After

Composer resolution of the Behat packages:

BEFORE

  composer.json (require-dev, the lines that change)
  ├── behat/behat                          ^3.33.0
  └── drevops/behat-format-progress-fail   ^1.5.1
        │
        ▼
  drevops/behat-format-progress-fail 1.5.2 declares conflict: behat/behat >=3.33
        │
        ├── ^1.5.1  installs only by falling back to 1.5.1
        └── ^1.5.2  "Your requirements could not be resolved", CI stops at "Build stack"

AFTER

  composer.json (require-dev, the lines that change)
  └── behat/behat                          ^3.34.0
        │
        ▼
  no formatter package, so there is no conflict to resolve

Behat configuration:

BEFORE  behat.yml

  formatters:
    progress_fail: true
  extensions:
    DrevOps\BehatFormatProgressFail\FormatExtension: ~
        │
        ▼
  the extension prints failed steps inline

AFTER  behat.yml

  formatters:
    progress:
      inline_failures: true
        │
        ▼
  Behat core prints failed, pending and undefined steps inline

Behat output:

┌──────────────────────────┬──────────────┬──────────────────┐
│ Output element           │ BEFORE       │ AFTER            │
├──────────────────────────┼──────────────┼──────────────────┤
│ Failed step banner       │ --- FAIL --- │ --- FAILED ---   │
│ Pending / undefined step │ P / U marker │ own inline block │
└──────────────────────────┴──────────────┴──────────────────┘

Changes

Behat and Composer

  • composer.json - removes drevops/behat-format-progress-fail and raises behat/behat from ^3.33.0 to ^3.34.0.
  • behat.yml - replaces the progress_fail: true formatter with progress and inline_failures: true, and removes the DrevOps\BehatFormatProgressFail\FormatExtension extension entry. Behat's config tree turns the progress formatter on by itself when its map has no enabled key. The comment above the formatter also loses its whule typo.

Installer

  • .vortex/installer/src/Prompts/Handlers/Tools.php - the Behat tool entry no longer looks for drevops/behat-format-progress-fail in composer.json when it decides whether Behat is present, and its removal callback no longer calls removeSubNode() for the package.
  • .vortex/installer/tests/Fixtures/handler_process/ - 24 files across 21 datasets, regenerated with ahoy update-snapshots. _baseline holds full copies of the files, so _baseline/behat.yml and _baseline/composer.json carry the real content changes. The other 20 datasets hold diffs against it, so most of them only see hunk offsets move by 1 line. The 5 datasets that remove Behat (tools_no_behat, tools_none, tools_groups_no_be_tests, and the _circleci variants of tools_no_behat and tools_groups_no_be_tests) also lose the - line for the package, because the baseline no longer has it to remove.

Documentation

  • .vortex/docs/content/development/composer.mdx - drops the package row from the require-dev table.
  • .vortex/docs/content/development/testing/behat.mdx - drops the package from the list of contexts and extensions, and rewrites "Output format" to describe the progress formatter's inline_failures option.

Verification

  • ahoy update-snapshots - a second run passes 157 of 157 scenarios with 0 updates.
  • ahoy --file .vortex/.ahoy.yml lint-installer and ahoy --file .vortex/.ahoy.yml lint-docs are clean (Vale reports 0 errors).
  • CI - the Behat runs in build (0), build (1) and ci/circleci: build pass with the new formatter config, and all 6 vortex-test-workflow shards pass.

…es' option of the Behat 'progress' formatter and updated 'behat/behat' to '^3.34.0'.
@coderabbitai

coderabbitai Bot commented Oct 5, 2026

Copy link
Copy Markdown

Warning

Review limit reached

  • Run on-demand review

This review includes 5 billable files and costs up to $1.25.

  • Ask an admin to make reviews automatic

Open in CodeRabbit

Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing.

Or wait 19 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Team
  • Run ID: 7b11e7cc-4956-4784-8a0d-710d452a880a
📥 Commits

Reviewing files that changed from the base of the PR and between fb09240 and 2ce131d.

⛔ Files ignored due to path filters (24)
  • .vortex/installer/tests/Fixtures/handler_process/_baseline/behat.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/_baseline/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/behat.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_acquia/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/behat.yml is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/hosting_project_name___acquia/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/starter_drupal_cms_profile/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_lint_circleci/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_groups_no_be_tests_circleci/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_behat/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_behat_circleci/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_phpcs_circleci/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_phpstan_circleci/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_phpunit_circleci/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_rector/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_rector_circleci/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_twig/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_no_twig_circleci/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
  • .vortex/installer/tests/Fixtures/handler_process/tools_none/composer.json is excluded by !.vortex/installer/tests/Fixtures/**
📒 Files selected for processing (5)
  • .vortex/docs/content/development/composer.mdx
  • .vortex/docs/content/development/testing/behat.mdx
  • .vortex/installer/src/Prompts/Handlers/Tools.php
  • behat.yml
  • composer.json
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

Code coverage (threshold: 90%)

  Classes: 100.00% (1/1)
  Methods: 100.00% (2/2)
  Lines:   100.00% (233/233)
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:   100.00% (233/233)
Per-class coverage
Drupal\ys_demo\Plugin\Block\CounterBlock
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 10/ 10)

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

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

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

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

@AlexSkrypnyk AlexSkrypnyk added the Needs review Pull request needs a review from assigned developers label Oct 5, 2026
@AlexSkrypnyk
AlexSkrypnyk merged commit 8ffaa35 into main Oct 5, 2026
36 checks passed
@AlexSkrypnyk
AlexSkrypnyk deleted the feature/remove-progress-fail branch October 5, 2026 02:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs review Pull request needs a review from assigned developers

Projects

Status: Release queue

Development

Successfully merging this pull request may close these issues.

1 participant