Skip to content

Conversation

@AlexSkrypnyk
Copy link
Member

@AlexSkrypnyk AlexSkrypnyk commented Dec 2, 2025

  • Upload installer PHAR as artifact in vortex-test-installer (PHP 8.3 only).
  • Changed vortex-test-docs to trigger via workflow_run after installer completes.
  • Download and include installer in Netlify docs deployment.

Summary by CodeRabbit

  • Chores
    • CI workflow now triggers when the installer workflow completes and only runs if that workflow succeeded.
    • Documentation build step fetches the produced installer artifact, places it into the docs install location, and prints its version before checking docs.
    • Installer test workflow now uploads the built installer for a specific PHP matrix entry and prints/version-checks the PHAR during testing.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 2, 2025

Walkthrough

The CI now uploads the built PHAR from the "Vortex - Test installer" workflow and the "Vortex - Test docs" workflow is triggered by that workflow's successful completion; the docs workflow downloads the installer artifact into .vortex/docs/static and runs it to print its version before checking docs.

Changes

Cohort / File(s) Summary
Installer artifact upload
.github/workflows/vortex-test-installer.yml
Adds an upload step that uploads .vortex/installer/build/installer.phar as artifact vortex-installer when matrix.php-versions == '8.3'; expands Test PHAR step to print version and run with --no-cleanup and --destination=test.
Docs workflow trigger and artifact fetch
.github/workflows/vortex-test-docs.yml
Replaces push/tag triggers with workflow_run trigger that listens for successful "Vortex - Test installer"; adds steps to download vortex-installer into .vortex/docs/static/install and execute the PHAR to print its version before the "Check docs up-to-date" step.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant InstallerWF as "Vortex - Test installer\n(GitHub Actions)"
    participant ArtifactStore as "GitHub Actions Artifacts"
    participant DocsWF as "Vortex - Test docs\n(GitHub Actions)"
    InstallerWF->>ArtifactStore: upload artifact\nname: vortex-installer (installer.phar)
    note right of ArtifactStore: Artifact stored and indexed
    InstallerWF-->>DocsWF: emits workflow_run (on success)
    DocsWF->>ArtifactStore: download artifact\nvortex-installer -> .vortex/docs/static/install
    DocsWF->>DocsWF: run installer.phar\n(print version)
    DocsWF->>DocsWF: continue docs checks
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Review upload step condition (if: matrix.php-versions == '8.3') and ensure it matches matrix config.
  • Verify artifact path (.vortex/installer/build/installer.phar) and if-no-files-found: error behavior.
  • Confirm workflow_run trigger configuration and workflow name matches the installer workflow exactly.
  • Validate download destination (.vortex/docs/static/install) and execution command/shell quoting for the PHAR.

Possibly related PRs

Poem

🐰
A tiny phar I found today,
Bounced between jobs in bright array,
Uploaded, fetched, and shown its name,
CI hummed softly—what a game!
Docs and installer hop in play.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding an installer artifact to the dev docs Netlify deployment, which is the primary objective of the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/publish-dev-installer

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b0e1db1 and 3f02de0.

📒 Files selected for processing (2)
  • .github/workflows/vortex-test-docs.yml (2 hunks)
  • .github/workflows/vortex-test-installer.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
  • GitHub Check: build (1)
  • GitHub Check: build (0)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-workflow (4)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-installer (8.4)
  • GitHub Check: vortex-test-installer (8.3)
🔇 Additional comments (4)
.github/workflows/vortex-test-docs.yml (3)

5-8: Workflow trigger correctly configured for artifact pipeline.

The workflow_run trigger is properly set to listen for the "Vortex - Test installer" workflow completion, which enables the downstream docs build to consume the installer artifact.


32-39: Artifact download configuration is correct.

The download step properly references the installer workflow and artifact name. The if_no_artifact_found: fail and allow_forks: true flags are appropriate for this use case.

Confirm that the workflow name vortex-test-installer.yml and artifact name vortex-installer match the upload step in the corresponding installer workflow file.


41-44: Installer file handling and smoke test look good.

The file move preserves the artifact location and the --version execution is a solid smoke test to verify the PHAR binary is functional before proceeding to docs build steps.

.github/workflows/vortex-test-installer.yml (1)

94-100: Installer artifact upload is correctly configured.

The step properly:

  • Restricts upload to PHP 8.3 only (appropriate for a production deployment artifact)
  • Uses the correct artifact name (vortex-installer) that downstream workflows expect
  • Fails fast if the PHAR build doesn't produce the expected file
  • Matches the action version used elsewhere in the workflow

@codecov
Copy link

codecov bot commented Dec 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.68%. Comparing base (b0e1db1) to head (cf27c8d).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2146      +/-   ##
===========================================
- Coverage    76.35%   75.68%   -0.67%     
===========================================
  Files          109      102       -7     
  Lines         5675     5516     -159     
  Branches        44        0      -44     
===========================================
- Hits          4333     4175     -158     
+ Misses        1342     1341       -1     

☔ View full report in Codecov by Sentry.
📢 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.

- Upload installer PHAR as artifact in vortex-test-installer (PHP 8.3 only).
- Changed vortex-test-docs to trigger via workflow_run after installer completes.
- Download and include installer in Netlify docs deployment.
@AlexSkrypnyk AlexSkrypnyk force-pushed the feature/publish-dev-installer branch from 3f02de0 to cf27c8d Compare December 2, 2025 23:30
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3f02de0 and cf27c8d.

📒 Files selected for processing (2)
  • .github/workflows/vortex-test-docs.yml (2 hunks)
  • .github/workflows/vortex-test-installer.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
  • GitHub Check: build (1)
  • GitHub Check: build (0)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-workflow (4)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-installer (8.4)
🔇 Additional comments (3)
.github/workflows/vortex-test-installer.yml (2)

89-92: Test PHAR step enhanced with version output and additional test options.

The addition of --version output and test parameters (--no-interaction, --no-cleanup, destination=test) provides better validation before uploading the artifact. The explicit exit 1 on failure ensures the workflow fails if PHAR execution fails.


94-100: Artifact upload correctly conditioned on PHP 8.3 only.

The step appropriately uploads only for PHP 8.3 to avoid redundant artifacts, ensuring a single installer artifact is available for the docs workflow to consume. Artifact naming (vortex-installer) aligns with the download step in vortex-test-docs.yml. Error handling via if-no-files-found: error is appropriate.

.github/workflows/vortex-test-docs.yml (1)

4-14: Correctly simplified trigger condition.

The workflow_run trigger and success guard are correctly implemented. The past feedback to remove the dead-code branch has been properly resolved—the condition now checks only github.event.workflow_run.conclusion == 'success' without extraneous logic.

Comment on lines +41 to +44
- name: Copy installer to docs
run: |
mv .vortex/docs/static/installer.phar .vortex/docs/static/install
php .vortex/docs/static/install --version
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Installer preparation logic is sound.

The step appropriately moves the downloaded artifact and verifies it via --version before proceeding. The removal of the .phar extension is acceptable since the file is explicitly invoked via php. Any failure in the move or execution will correctly halt the workflow.

Consider adding a brief comment if the install filename (without extension) is intentional for documentation purposes, to clarify intent for future maintainers.

🤖 Prompt for AI Agents
.github/workflows/vortex-test-docs.yml around lines 41 to 44: add a brief inline
comment above the "Copy installer to docs" step explaining that the .phar
artifact is intentionally renamed to "install" (no extension) because it will be
invoked via "php install" for documentation/testing purposes, so future
maintainers understand the filename change and that the file is executed with
PHP rather than relying on a .phar extension.

@AlexSkrypnyk AlexSkrypnyk merged commit fa066e9 into develop Dec 2, 2025
26 checks passed
@AlexSkrypnyk AlexSkrypnyk deleted the feature/publish-dev-installer branch December 2, 2025 23:43
@github-project-automation github-project-automation bot moved this from BACKLOG to Release queue in Vortex Dec 2, 2025
@AlexSkrypnyk AlexSkrypnyk modified the milestones: 1.1-25.12.0, 1.0-25.11.0 Dec 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Released in 1.34.0

Development

Successfully merging this pull request may close these issues.

2 participants