Conversation
WalkthroughThis update introduces two new jobs to the GitHub Actions unstable end-to-end workflow, adjusts Composer's Changes
Sequence Diagram(s)sequenceDiagram
participant GitHub Actions
participant BuildTestAppAction
participant Composer
participant Behat
participant ArtifactUploader
GitHub Actions->>GitHub Actions: Start behat-ui-js-chromedriver-unstable job
GitHub Actions->>Composer: Restore dependencies from cache
GitHub Actions->>Composer: Configure prefer-stable true (if UNSTABLE)
GitHub Actions->>BuildTestAppAction: Build application with e2e/js parameters
GitHub Actions->>Behat: Run Chromedriver-tagged tests (with retries)
Behat-->>GitHub Actions: Test results
GitHub Actions->>Behat: Run @failing scenarios (continue on error)
Behat-->>GitHub Actions: Failing test results
alt On failure
GitHub Actions->>ArtifactUploader: Upload logs from etc/build/ and var/log
end
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Note ⚡️ AI Code Reviews for VS Code, Cursor, WindsurfCodeRabbit now has a plugin for VS Code, Cursor and Windsurf. This brings AI code reviews directly in the code editor. Each commit is reviewed immediately, finding bugs before the PR is raised. Seamless context handoff to your AI code agent ensures that you can easily incorporate review feedback. ✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
❗ Preview Environment delete from Bunnyshell failedCheck https://github.com/Sylius/Sylius/actions/runs/15205149026 for details. See: Environment Details Available commands:
|
There was a problem hiding this comment.
Actionable comments posted: 1
🔭 Outside diff range comments (1)
.github/workflows/ci_e2e-unstable.yaml (1)
3-11:⚠️ Potential issueDefine
branchinput under both triggers
The workflow referencesinputs.branchin several jobs, but neitherworkflow_callnorworkflow_dispatchdeclares abranchinput. This will lead to undefined values at runtime. Please add abranchinput with a default (e.g., empty string) under both triggers:on: workflow_call: inputs: ignore-failure: description: "Don't fail on error" required: false type: boolean default: false branch: description: "Git branch to checkout" required: false type: string default: "" workflow_dispatch: inputs: branch: description: "Git branch to checkout" required: false default: ""
🧹 Nitpick comments (1)
.github/workflows/ci_e2e-unstable.yaml (1)
91-245: Consider DRY’ing duplicated job definitions
The two JS jobs (chromedriverandpanther) share nearly identical steps. To reduce maintenance overhead, you could extract common steps into YAML anchors or a reusable composite action, parameterizing only the differences (e.g.,e2e_js,chrome_version).# Example using an anchor for shared steps .shared-steps: &shared-build - name: Get Composer cache directory id: composer-cache run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Restore dependencies uses: actions/cache@v4 with: path: ${{ steps.composer-cache.outputs.dir }} key: ... - name: Change minimum-stability to dev run: | composer config minimum-stability dev composer config prefer-stable true - name: Build application uses: SyliusLabs/BuildTestAppAction@v2.4 with: # shared parameters...Then reference
<<: *shared-buildin each job before job-specific steps.🧰 Tools
🪛 actionlint (1.7.7)
93-93: property "env" is not defined in object type {mysql: number; php: number; symfony: string}
(expression)
105-105: property "env" is not defined in object type {mysql: number; php: number; symfony: string}
(expression)
110-110: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
113-113: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
116-116: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
175-175: property "env" is not defined in object type {mysql: number; php: number; symfony: string}
(expression)
187-187: property "env" is not defined in object type {mysql: number; php: number; symfony: string}
(expression)
192-192: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
195-195: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
198-198: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
🪛 YAMLlint (1.37.1)
[warning] 109-109: too many spaces after hyphen
(hyphens)
[warning] 115-115: too many spaces after hyphen
(hyphens)
[warning] 119-119: too many spaces after hyphen
(hyphens)
[warning] 123-123: too many spaces after hyphen
(hyphens)
[warning] 130-130: too many spaces after hyphen
(hyphens)
[warning] 135-135: too many spaces after hyphen
(hyphens)
[warning] 149-149: too many spaces after hyphen
(hyphens)
[warning] 155-155: too many spaces after hyphen
(hyphens)
[warning] 162-162: too many spaces after hyphen
(hyphens)
[warning] 191-191: too many spaces after hyphen
(hyphens)
[warning] 197-197: too many spaces after hyphen
(hyphens)
[warning] 201-201: too many spaces after hyphen
(hyphens)
[warning] 205-205: too many spaces after hyphen
(hyphens)
[warning] 212-212: too many spaces after hyphen
(hyphens)
[warning] 217-217: too many spaces after hyphen
(hyphens)
[warning] 232-232: too many spaces after hyphen
(hyphens)
[warning] 235-235: too many spaces after hyphen
(hyphens)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
.github/workflows/ci_e2e-unstable.yaml(1 hunks)RoboFile.php(1 hunks)src/Sylius/Bundle/CoreBundle/OrderPay/Provider/PaymentRequestAfterPayResponseProvider.php(1 hunks)src/Sylius/Bundle/CoreBundle/Resources/config/validation/ChannelPriceHistoryConfig.xml(1 hunks)src/Sylius/Component/Customer/composer.json(1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.7)
.github/workflows/ci_e2e-unstable.yaml
93-93: property "env" is not defined in object type {mysql: number; php: number; symfony: string}
(expression)
105-105: property "env" is not defined in object type {mysql: number; php: number; symfony: string}
(expression)
110-110: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
113-113: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
116-116: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
175-175: property "env" is not defined in object type {mysql: number; php: number; symfony: string}
(expression)
187-187: property "env" is not defined in object type {mysql: number; php: number; symfony: string}
(expression)
192-192: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
195-195: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
198-198: property "branch" is not defined in object type {ignore-failure: bool}
(expression)
🪛 YAMLlint (1.37.1)
.github/workflows/ci_e2e-unstable.yaml
[warning] 109-109: too many spaces after hyphen
(hyphens)
[warning] 115-115: too many spaces after hyphen
(hyphens)
[warning] 119-119: too many spaces after hyphen
(hyphens)
[warning] 123-123: too many spaces after hyphen
(hyphens)
[warning] 130-130: too many spaces after hyphen
(hyphens)
[warning] 135-135: too many spaces after hyphen
(hyphens)
[warning] 149-149: too many spaces after hyphen
(hyphens)
[warning] 155-155: too many spaces after hyphen
(hyphens)
[warning] 162-162: too many spaces after hyphen
(hyphens)
[warning] 191-191: too many spaces after hyphen
(hyphens)
[warning] 197-197: too many spaces after hyphen
(hyphens)
[warning] 201-201: too many spaces after hyphen
(hyphens)
[warning] 205-205: too many spaces after hyphen
(hyphens)
[warning] 212-212: too many spaces after hyphen
(hyphens)
[warning] 217-217: too many spaces after hyphen
(hyphens)
[warning] 232-232: too many spaces after hyphen
(hyphens)
[warning] 235-235: too many spaces after hyphen
(hyphens)
🔇 Additional comments (6)
src/Sylius/Component/Customer/composer.json (1)
39-39: LGTM! Clean dependency removal.The removal of the unused
icanhazstring/composer-unuseddevelopment dependency is a good cleanup that aligns with the PR's focus on dependency management for Symfony 7.3 beta testing.src/Sylius/Bundle/CoreBundle/Resources/config/validation/ChannelPriceHistoryConfig.xml (1)
26-26: Correct fix for validation constraint syntax.The change from
<option name="value">int</option>to<option name="type">int</option>is correct. TheTypeconstraint uses thetypeoption to specify the expected data type, notvalue. This fixes a validation configuration bug.RoboFile.php (1)
66-66: Correct alignment with modern Composer practices for unstable testing.The change from
prefer-stable falsetoprefer-stable truewhenUNSTABLE=yesis correct. This follows the pattern of settingminimum-stability devwithprefer-stable true, which allows testing against development packages while still preferring stable versions when available.src/Sylius/Bundle/CoreBundle/OrderPay/Provider/PaymentRequestAfterPayResponseProvider.php (1)
71-73: Enhanced input validation for payment request hash.The strengthened validation in the
supports()method now properly checks that the hash is both not null and not empty. This prevents potential issues with empty hash values and aligns well with theAssert::notNullvalidation in thegetResponse()method..github/workflows/ci_e2e-unstable.yaml (2)
39-43: Composer config for unstable dependencies is correctly set
Great addition ofcomposer config minimum-stability devalongsidecomposer config prefer-stable true. This ensures we pull in beta Symfony packages while still preferring stable dependencies where possible.🧰 Tools
🪛 YAMLlint (1.37.1)
[warning] 39-39: too many spaces after hyphen
(hyphens)
[error] 43-43: trailing spaces
(trailing-spaces)
105-107: Matrixenvfallback is intentional; static lint false positive
The expression${{ matrix.env || 'test_cached' }}provides a default ifenvisn't set in the matrix. Although actionlint flagsmatrix.envas undefined, GitHub Actions supports this fallback syntax. You can safely ignore this warning.🧰 Tools
🪛 actionlint (1.7.7)
105-105: property "env" is not defined in object type {mysql: number; php: number; symfony: string}
(expression)
Summary by CodeRabbit
Bug Fixes
Chores