Skip to content

Conversation

@rbcorrales
Copy link
Member

@rbcorrales rbcorrales commented Jan 30, 2026

The repos migrating from CircleCI to GitHub Actions that publish to WP.org had a release-wporg job that did a fresh checkout + npm ci but never built the release/ directory that release-wporg.sh expects.

In CircleCI, this worked via persist_to_workspace / attach_workspace. This PR tries to bridge that gap using upload-artifact / download-artifact:

  • Adds reusable-release-wporg.yml, a reusable workflow for publishing to WordPress.org that downloads release artifacts from the release job and runs release-wporg.sh.
  • Accepts an optional plugin-name input (defaults to the repository name) for repos where the WP.org slug differs.
  • Includes a guard step that fails with a clear error if the expected release/<plugin-name> directory is missing. For the existing cases, the repo names should match, but this could become useful in the future.
  • Adds retention-days: 1 to the release artifact upload in reusable-release.yml, since these artifacts are only needed as transitory glue between the release and WP.org release jobs within the same workflow run.

Consuming PRs:

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a reusable workflow for publishing WordPress plugins to WordPress.org, adapting the previous CircleCI workspace-based approach to GitHub Actions' artifact system.

Changes:

  • Adds artifact upload to the release workflow with 1-day retention for transient inter-job communication
  • Creates a new reusable WordPress.org release workflow that downloads release artifacts and executes the publishing script
  • Implements verification to ensure the expected plugin directory structure exists before attempting to publish

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
.github/workflows/reusable-release.yml Adds artifact upload step for the release directory with 1-day retention
.github/workflows/reusable-release-wporg.yml New reusable workflow that downloads release artifacts, verifies structure, and publishes to WordPress.org

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rbcorrales rbcorrales marked this pull request as ready for review January 30, 2026 15:17
@rbcorrales rbcorrales requested a review from a team as a code owner January 30, 2026 15:17
@rbcorrales rbcorrales merged commit 27edf10 into refactor/deprecate-circle-ci Jan 30, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants