chore(release): v0.3.4 #53
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!53
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "release-prep/v0.3.4"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixed
.forgejo/workflows/release-draft.yml+docs/integration.mdtemplate: drop thepull_request: types: [closed]auto-fire trigger entirely;release-draftis now operator-dispatched only viaworkflow_dispatchwith an explicittaginput. Closes #41 substrate-honestly — Forgejo Actions' expression engine cannot reliably resolvegithub.*/forgejo.*accesses pulling from thepull_requestevent payload on.closedevents (n=3 falsifications: PRs #48 + #49 + #50; the engine fail-opens onif:guards AND evaluates head-ref-shaped expressions to empty strings). The auto-fire mechanic was empirically broken since release-toolkit#41 was filed; every release cut to date used the manualscripts/draft-release.shfallback. This change formalizes the working reality. A release-please-shaped redesign (push: branches: [main]trigger + state-file manifest + shell git-log walk — zeropull_requestexpression-engine exposure) is planned to reinstate auto-fire in the next architectural arc..forgejo/workflows/debug-event-payload.yml: removed entirely. The temporary probe never produced a log artifact (separate finding #47 — top-level event-triggered inline-steps workflows do not log in this Forgejo/act_runner). Probe lifecycle constraint met: #41's real root cause was captured via the_release-draft.ymlreusable's failure-path log, not via the probe..forgejo/workflows/release-draft.yml(consumer-side, the toolkit's own copy): replace nestedgithub.event.pull_request.head.refaccesses with the top-levelgithub.head_refconvenience field at both the job'sif:guard AND theversion:input. Drop the.merged == truecheck entirely — same nested-access trap and dropping it is harmless (cancelled unmerged-closed release-prep/* PRs now fire the reusable, which fails-loud at the "CHANGELOG section missing" guard indraft-release.shBEFORE creating any draft/tag — no spurious side-effect). Root-cause of #41: Forgejo's expression engine fail-opens on ANYgithub.event.pull_request.*nested access onpull_request.closedevents (n=2 empirical from release-toolkit's own PRs #48 + #49 both firing despite non-release-prep head.refs + producing empty inputs.version downstream). Consumer integration docs updated to match.release-draft: drop broken auto-fire — operator-dispatch only (closes #41)
release-draft: use github.head_ref convenience field — closes #41
Internal
.forgejo/workflows/debug-event-payload.yml(consumer-side, temporary): radical-minimization per Surveyor 894e structural-differentiator framing. Droppermissions:block, dotted step + job names,set -euo pipefail, all${{ github.* }}expressions, all::group::markers. Keep ONLYname, both triggers,runs-on: go, a simplehellojob with a singlerun: echo hellostep. Bisect logic: if log appears → re-add elements one-by-one to find the breaker (suspects: job-levelpermissions:, dotted job name, inline-steps top-level handling). If still no log → it's a runner-registration/config substrate issue (#47 deeper finding). Probe still TEMPORARY; removed once #41 right-layer fix lands..forgejo/workflows/debug-event-payload.yml(consumer-side, temporary): drop theenv: EVENT_JSON: ${{ toJSON(github.event) }}line + the full-JSON dump group. Hypothesis under test:toJSON(github.event)may fail to render onworkflow_dispatchwhere the payload shape differs frompull_request, causing Forgejo Actions to silently reject the job before scheduling (n=2 vacuous-success at both triggers per #47). Individual field echoes survive — they return empty strings on missing-payload-fields, which the expression engine tolerates. Probe still TEMPORARY; removed once #41 right-layer fix lands..forgejo/workflows/debug-event-payload.yml(consumer-side, temporary): addworkflow_dispatchtrigger alongside the existingpull_request.closedtrigger. The v0.3.3 cycle's autonomous probe fire produced NO task log despite Forgejo'sworkflow_runsAPI reporting success — substrate-data itself.workflow_dispatchlets the probe fire on-demand + verify it actually executes + captures thegithub.eventpayload for #41 root-causing. Probe still TEMPORARY; removed once #41's right-layer fix lands.