fix(ci): deploy WordPress.org assets via ASSETS_DIR + dedicated asset-update workflow#3880
Merged
Conversation
…-update workflow The release deploy step never set ASSETS_DIR, so the 10up action defaulted to a repo-root .wordpress-org that does not exist in this monorepo and logged "No assets directory found; skipping asset copy" — the SVN assets/ folder (banners/icons/screenshots) was never synced, so the brand refresh shipped in the plugin code but never appeared on the .org plugin pages. - release-please.yml: set ASSETS_DIR to the plugin's source .wordpress-org dir (package_path-relative, so it works for all four plugins regardless of .distignore and for both new releases and redeploy_tag re-deploys). - plugins/wp-graphql/.distignore: exclude /.wordpress-org (matching the other plugins) so core stops bundling assets into trunk and the plugin zip. - deploy-wporg-assets.yml (new): asset-only deploys via 10up's action-wordpress-plugin-asset-update. Auto-runs on push to main touching plugins/*/.wordpress-org/** (only the changed plugins), plus a manual workflow_dispatch with a component picker for backfills/redeploys. Reuses the same component -> wp_org_slug mapping from release-please-config.json.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Jun 4, 2026
jasonbahl
added a commit
that referenced
this pull request
Jun 4, 2026
Sync main (split PRs #3877/#3878/#3879 + asset-pipeline #3880/#3882/#3883) into the IDE rebuild branch. Conflicts were all IDE release-metadata + the plugin header; resolved as: - package.json / wpgraphql-ide.php Version / readme.txt Stable tag: 4.5.0 (the release-please manifest value; release-please bumps to 5.0.0 at release — the in-repo version tracks the last release per the plugin's CLAUDE.md). - CHANGELOG.md / readme.txt changelog: union — keep the 5.0.0 notes AND main's released 4.5.0 entry. - Requires at least: 6.1 (not the 7.0 the branch had staged). WordPress 7.0's i18n features (.l10n.php 6.5, JIT textdomain 6.7) degrade gracefully and no runtime gate gates on 7.0, so there's no reason to lock out current installs. Dropped the "raised floor to 7.0" breaking-change note and aligned CLAUDE.md + i18n docs to 6.1. - Tested up to: 7.0 (WordPress 7.0 is released).
jasonbahl
added a commit
to josephfusco/wp-graphql
that referenced
this pull request
Jun 4, 2026
Sync main (split PRs wp-graphql#3877/wp-graphql#3878/wp-graphql#3879 + asset pipeline wp-graphql#3880/wp-graphql#3882/wp-graphql#3883) onto the IDE rebuild branch, on top of Joe's floor/CI commits (floor 6.1, WP 7.0 CI coverage + tested-up-to). Conflicts (all IDE release metadata) resolved as: - Version / Stable tag / package.json: 4.5.0 (release-please manifest value; release-please bumps to 5.0.0 at release — in-repo version tracks last release per the plugin's CLAUDE.md). - CHANGELOG.md / readme.txt changelog: union — keep the 5.0.0 notes AND main's released 4.5.0 entry. Dropped the now-inaccurate "raised floor to 7.0" breaking-change note (Joe set the floor to 6.1) and the 7.0-floor framing in the i18n docs. - Requires at least: 6.1 / Tested up to: 7.0 — kept Joe's values.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The brand refresh assets merged in #3877 are on
main(and got into the2.15.0tag tree), and core2.15.0did deploy to WordPress.org afterward — yet the new banners/icons/screenshots never appeared on any plugin's.orgpage.Root cause: the
WordPress Plugin Deploystep inrelease-please.ymlnever setASSETS_DIR, so the 10up action defaulted to a repo-root.wordpress-orgthat doesn't exist in this monorepo. Its own log confirms it:So the SVN
assets/directory (which.orgactually displays from) was never synced. The.wordpress-orgfiles that do show up undertrunk/.wordpress-org/andtags/.../.wordpress-org/are a red herring —.orgignores those. All four plugins (wp-graphql,wp-graphql-ide,wp-graphql-smart-cache,wp-graphql-acf) deployed in the same batch and hit the same skip.Changes
release-please.yml— setASSETS_DIRto each plugin's source.wordpress-orgdir (package_path-relative), so releases sync theassets/folder. Source-relative rather than build-relative so it works for all four plugins regardless of.distignore, and for both new releases andredeploy_tagre-deploys.plugins/wp-graphql/.distignore— exclude/.wordpress-org(matching ide/acf/smart-cache) so core stops bundling assets intotrunk/and the plugin zip. They reach.orgviaASSETS_DIRnow, so keeping them in the build was redundant bloat..github/workflows/deploy-wporg-assets.yml(new) — asset-only deploys via10up/action-wordpress-plugin-asset-update, because.orgassets are decoupled from plugin versions and shouldn't require a release:maintouchingplugins/*/.wordpress-org/**→ only the changed plugins deploy. Asset changes go live on merge — this is what would have prevented this bug.workflow_dispatchwith acomponentpicker (allor one plugin) for backfills/redeploys.component → wp_org_slugmapping fromrelease-please-config.json.Getting the current rebrand live
After this merges, run Deploy WordPress.org Assets →
workflow_dispatch→component: allto push the already-merged brand assets to all four plugin pages — no release required. (The manual trigger only appears in the Actions UI once the workflow is onmain.)Validation
js-yaml).release-please-config.jsonfor all four components.