Conversation
…otchas
Two TYPO3-specific failure modes were siloed in t3x-nr-passkeys-be's
local memory; promote them into the skill so any TYPO3 release
benefits.
1. tailor ter:publish hard-fails with "configured version does not
match" if ext_emconf.php (or Documentation/guides.xml) version
disagrees with the git tag. The release-prep PR pattern
(release-process.md Phase 1-3) already prevents this; document why
it matters so the ordering isn't broken in custom workflows.
2. Custom publish workflows that compare ${GITHUB_REF#refs/tags/}
directly against ext_emconf.php compare v0.6.0 vs 0.6.0 and silently
fail validation. Show the three-variable strip pattern
(CHECKOUT_REF / TAG / VERSION). Note the shared
netresearch/typo3-ci-workflows publish-to-ter.yml already implements
this — only bespoke per-project workflows need to handle it.
Add the new content to references/typo3-ter-publishing.md (separate
from ter-republish.md, which is scoped to re-publish-without-re-tag).
Add a SKILL.md references-list entry (497 words, under the 500 limit).
Cross-link from ter-republish.md.
Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
There was a problem hiding this comment.
Code Review
This pull request introduces a new reference document, typo3-ter-publishing.md, which outlines common issues encountered when publishing TYPO3 extensions to TER, specifically focusing on version synchronization and tag prefix handling. Feedback highlights that ext_emconf.php is the primary validation source for the tailor tool, and the provided YAML example for environment variables needs correction as shell parameter expansion is not supported directly within the env block of GitHub Actions.
There was a problem hiding this comment.
Pull request overview
This PR extends the GitHub release skill’s TYPO3 guidance by documenting two TER publishing pitfalls that can break release automation: version mismatches across tag/version files and v-prefix handling in custom workflows. It fits the codebase by adding TYPO3-specific reference material alongside the existing release-process and TER re-publish documentation.
Changes:
- Added a new TYPO3 TER publishing reference covering initial-publish version alignment and tag-prefix handling.
- Linked the new reference from
SKILL.mdand tightened nearby reference descriptions to keep the skill summary concise. - Added a reciprocal related-link from the TER re-publish reference to the new initial-publish guide.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
skills/github-release/SKILL.md |
Adds the new TYPO3 TER publishing reference to the skill’s reference index. |
skills/github-release/references/typo3-ter-publishing.md |
New reference documenting initial TER publish failure modes and workflow guidance. |
skills/github-release/references/ter-republish.md |
Adds a related-link pointing readers to the new initial-publish reference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…x env-block expansion Address PR #22 review feedback from gemini-code-assist: 1. Section 1 conflated ext_emconf.php (the actual validation source for tailor ter:publish) with Documentation/guides.xml (a docs.typo3.org rendering concern). Lead with ext_emconf.php as the single source of truth; demote guides.xml to a "keep in sync for docs rendering" item that does not cause the "configured version does not match" error. 2. Section 2 showed a broken pseudo-code env: block: env: TAG: ${GITHUB_REF#refs/tags/} # never expanded VERSION: ${TAG#v} # never expanded GitHub Actions env: blocks do NOT perform shell parameter expansion; the values become literal strings. Replace with the working pattern: pass github.ref directly to actions/checkout, derive TAG/VERSION in a run: step, and write them to $GITHUB_ENV for downstream steps. Add a concrete validation snippet (PHP one-liner reading ext_emconf.php and erroring on mismatch) so the example is end-to-end useful for anyone writing a custom publish workflow. Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
|



Summary
Promote two TYPO3-specific TER publishing gotchas from
t3x-nr-passkeys-be's local memory into the skill, so any TYPO3release benefits.
ext_emconf.phpversion match required —tailor ter:publishhard-fails with
configured version does not matchwhen the git tagdisagrees with
ext_emconf.php('version' => '...') orDocumentation/guides.xml(version=/release=attributes). Therelease-prep PR pattern (
release-process.mdPhase 1-3) alreadyprevents this; the new file documents why the ordering matters so
it isn't broken in custom workflows.
v-prefix mismatch in custom publish workflows — comparing${GITHUB_REF#refs/tags/}(givesv0.6.0) directly againstext_emconf.php(0.6.0) silently fails validation. Show thethree-variable strip pattern (
CHECKOUT_REF/TAG/VERSION).Note that
netresearch/typo3-ci-workflows'spublish-to-ter.ymlalready handles this — only bespoke per-project workflows need to
apply it.
Placement
references/typo3-ter-publishing.md— initial-publishgotchas (separate from
ter-republish.mdwhich is scoped tore-publish-without-re-tag)
SKILL.md— added references-list entry; trimmed therecovery-procedures.mddescription and shortened theter-republish.mdentry to stay under the 500-word limit (now 497)references/ter-republish.md— added cross-link in## RelatedTest plan
wc -w skills/github-release/SKILL.md≤ 500 (497)\n(no trailing blank line)info@sebastianmendel.de) + DCO sign-off