align frontend build and publish workflows#1118
Conversation
|
There was a problem hiding this comment.
Pull request overview
This PR refactors the frontend CI/CD workflows to delegate their logic to centralized reusable workflows in pimcore/workflows-collection-public, aligning data-hub with the shared build/publish tooling used across other pimcore repositories. It replaces the previously repo-local build/publish/lint pipelines with thin caller workflows and introduces a lightweight "gate" job that decides when to publish a canary release based on frontend changes.
Changes:
- Adds
studio-frontend-build.yaml, a path-filtered caller that delegates lint/typecheck/build (and artifact commits) toreusable-studio-frontend-build.yaml@main. - Rewrites
frontend-publish-unified.yamlto compute apublishdecision plus a canarytarget-releasein agatejob, then delegates publishing toreusable-frontend-publish-unified.yaml@main. - Removes the now-redundant local workflows
shared-frontend-build.yaml,shared-npm-publish.yaml, andfrontend-build-pr.yaml.
Reviewed changes
Copilot reviewed 13 out of 28 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/studio-frontend-build.yaml |
New path-filtered caller delegating the studio frontend build to the shared reusable workflow. |
.github/workflows/frontend-publish-unified.yaml |
Replaces inline canary/release logic with a gate job (change detection + canary target version) that calls the shared publish workflow. |
.github/workflows/shared-frontend-build.yaml |
Deleted; build/lint/typecheck logic moved to the central reusable workflow. |
.github/workflows/shared-npm-publish.yaml |
Deleted; npm publish logic moved to the central reusable workflow. |
.github/workflows/frontend-build-pr.yaml |
Deleted; PR/branch build handling superseded by studio-frontend-build.yaml. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.



Restructure studio frontend CI: centralize on shared reusable workflows
Moves ~200 lines of build/publish logic into
workflows-collection-public. This repo keeps two thin callers.Files changed
studio-frontend-build.yamlfrontend-publish-unified.yamlfrontend-build-pr.yamlshared-frontend-build.yamlshared-npm-publish.yamlKey behavior changes
assets/studio/**changes, not on every branch push.assets/studio/**before publishing.2026.xand maintenance2026.1/2026.2/2.4, …) but only when frontend files actually changed — a gate job diffsassets/studio/**before publishing. Deleting a branch stops its canaries automatically; year-scheme maintenance branches were previously excluded by the branch filters.2026.x→2026.3.0), maintenance bumps the patch (2026.2→2026.2.3,2.4→2.4.5). Fixes stale2.4.0-canary.*versions sorting below current releases.-pull_requestreplacespull_request_target— fork code no longer runs with a write token.--provenance).Important notes for maintainers
frontend-publish-unified.yaml— the filename is registered as a trusted npm publisher (OIDC). Renaming breaks publishing until npmjs.com admin updates the config.build-output-pathset on both reusable calls — the reusable defaults to"."and would commit all changed files otherwise.