Skip to content

Run independent deployment steps in parallel - #1156

Merged
swissspidy merged 1 commit into
mainfrom
claude/quirky-goldberg-r1ssid
Oct 7, 2026
Merged

swissspidy merged 1 commit into
mainfrom
claude/quirky-goldberg-r1ssid

Conversation

@swissspidy

@swissspidy swissspidy commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Uses the new parallel step keywords in deployment.yml:

  • build: the version and manifest uploads run in a parallel group with the Phar build.
  • test: MySQL setup and the Phar download run in the background while Ghostscript, PHP and Composer are set up; wait-all before the Phar is moved into place.
  • deploy: the three artifact downloads run in a parallel group.
  • build-rpm / build-deb: the apt-get tooling install runs in the background while the repositories are checked out and the Phar is downloaded; wait-all before the package build.

The two checkouts in the rpm/deb jobs stay sequential, as the root checkout could clean the bundle/ one.

Also updates .github/actionlint.yml to match wp-cli/.github (it is synced from there), since actionlint does not know the new keywords yet.

Note: deployment.yml only runs on pushes to main/release-** and manual dispatch, so this PR's CI won't exercise it; it will be verified on the first run after merge (or via workflow_dispatch on this branch).

🤖 Generated with Claude Code

https://claude.ai/code/session_01XKUgMbWCUXHvDzgDBPWcZA


Generated by Claude Code

Summary by CodeRabbit

  • Chores
    • Streamlined build, testing, deployment, and package creation workflows by running independent preparation steps in parallel. No user-facing feature changes are included in this update.

- build: upload the version and manifest while the Phar is built.
- test: start MySQL and download the Phar in the background while PHP
  and Composer are set up.
- deploy: download the three artifacts in parallel.
- build-rpm/build-deb: install apt tooling in the background while the
  repositories are checked out and the Phar is downloaded.

Also sync the actionlint ignores for the new step keywords from
wp-cli/.github.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XKUgMbWCUXHvDzgDBPWcZA
Copilot AI balanced review requested due to automatic review settings October 7, 2026 08:18
@swissspidy
swissspidy requested a review from a team as a code owner October 7, 2026 08:18

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 18ae4fa2-1b74-418c-848b-d9713e566e7c
📥 Commits

Reviewing files that changed from the base of the PR and between c611a3d and 18cc859.

📒 Files selected for processing (2)
  • .github/actionlint.yml
  • .github/workflows/deployment.yml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The deployment workflow now runs selected artifact operations and package-tool installations in parallel with other preparation steps. It waits for background tasks before dependent work. Actionlint ignores diagnostics for the workflow’s parallel-step syntax.

Changes

Workflow parallelization

Layer / File(s) Summary
Build artifact generation
.github/actionlint.yml, .github/workflows/deployment.yml
The build job uploads the version and manifest artifacts while building the Phar. Actionlint ignores diagnostics for the background key and steps without run or uses.
Functional-test preparation
.github/workflows/deployment.yml
MySQL setup and Phar download now run in the background. A wait-all step waits for both before Phar preparation.
Deployment artifact downloads
.github/workflows/deployment.yml
The deployment job downloads the version, manifest, and Phar artifacts in parallel before setting the nightly version.
RPM and DEB package preparation
.github/workflows/deployment.yml
RPM and DEB tooling installation now runs in the background. Each job waits for installation before building its package.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Refactor

Sequence Diagram(s)

sequenceDiagram
  participant FunctionalTestJob
  participant MySQLSetup
  participant PharArtifactDownload
  participant PharPreparation
  FunctionalTestJob->>MySQLSetup: start setup in background
  FunctionalTestJob->>PharArtifactDownload: start download in background
  FunctionalTestJob->>FunctionalTestJob: wait for both background steps
  FunctionalTestJob->>PharPreparation: prepare the Phar
Loading

Suggested reviewers: schlessera

Merge Risk: ⚪ Minimal · up to 18cc8

This change runs independent deployment steps in parallel to speed up the workflow. No concrete defect was found. The workflow is not exercised by this PR's CI, so the first run after merge, or a manual dispatch, will confirm it.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 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: running independent deployment steps in parallel.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

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

@github-actions github-actions Bot added enhancement New feature or request scope:distribution Related to distribution labels Oct 7, 2026
@codecov

codecov Bot commented Oct 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Member Author

test / Behat (7.4, trunk, mysql-5.7) fails in features/requests.feature:93 (Current version with WordPress-bundled Requests v2). wp core update --version=6.2 --force succeeds but prints Warning: Could not retrieve WordPress core checksums, and the scenario treats any STDERR output as a failure. The automatic Behat rerun failed the same way.

This failure doesn't come from this PR:

  • This job runs wp-cli/.github's reusable-testing.yml@main (9f22972). This PR only changes deployment.yml and actionlint.yml, and this job uses neither.
  • Last night's scheduled run on main (run 37558911968) used the same reusable workflow at the same SHA, and it passed.
  • The warning is printed when the checksums fetch from api.wordpress.org fails, so this points at that external service. No fix exists yet. A fix would belong in the test or core-command (for example, tolerating that warning), not in this PR.

GitHub can only re-run failed jobs once the whole run has finished, so I'll re-run this job once at that point to confirm.


Generated by Claude Code

@swissspidy
swissspidy merged commit 5d201af into main Oct 7, 2026
106 of 107 checks passed
@swissspidy
swissspidy deleted the claude/quirky-goldberg-r1ssid branch October 7, 2026 11:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request scope:distribution Related to distribution

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants