Repository navigation
feat(release): hold 5b — publish many from the release-attached VSIX - #543
Merged
Merged
Conversation
Attach the universal VSIX (build-vsix.yml) to a release draft as soon as it is created, with its SHA-256, via a new attach-release-vsix.yml workflow. openvsx-publish.yml now downloads and verifies that exact release asset instead of repackaging at publish time, so the artefact verified before release is the one that ships. Also removes the automatic release trigger from vscode-marketplace-publish.yml (workflow_dispatch only now): without this, publishing a release for the Open VSX step above would also have fired an unwanted VS Code Marketplace publish attempt, which the epic constraint and the standing publisher-identity block both rule out. transitrix-hq#144 Signed-off-by: transitrix <automation@transitrix.com>
📊 Metrics Regression Report✅ All metrics within tolerance Summary
Detailsai-expense-approval.bpmn.transitrix.yaml
feature-release.bpmn.transitrix.yaml
large-cyclic-workflow.bpmn.transitrix.yaml
order-fulfillment.bpmn.transitrix.yaml
parallel-tracks.bpmn.transitrix.yaml
simple-approval.bpmn.transitrix.yaml
simple-linear.bpmn.transitrix.yaml
small-dense-approval.bpmn.transitrix.yaml
xlarge-stress-test.bpmn.transitrix.yaml
|
transitrix
added a commit
that referenced
this pull request
Sep 2, 2026
Hovering any node in the Goals tree, DGCA, or DGA preview now shows a native SVG <title> tooltip with the full untruncated name and entity ID, even when the visible label is truncated/ellipsized. For Goals nodes, tooltip also includes the level (e.g. 'Name — ID — level 2'). For Change nodes (DGCA), includes the count of activity_ids (related to badge work in #543). For Action/Activity nodes, includes the type when present. Implementation: - Wrap node SVG (rect + text) in a <g> element - Insert <title> child before the rect - Content: full name + ID + notation-specific metadata - No visual change to the node box itself Covers Goals/DGCA/DGA. DGA uses the same renderer as DGCA via hideChanges option, so both are updated by modifications to render-fgca.ts. All tests passing. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
transitrix
added a commit
that referenced
this pull request
Sep 3, 2026
* feat: synthesize virtual Change nodes for activities without a real Change When an Action reaches its Goal directly (no real CHANGE covers it), render a pale virtual Change box at that position instead of a direct edge. This prevents goal→activity skip edges from crossing the Change column visually. Changes: - Add VIRTUAL_ENTITY theme token (pale/neutral fill, dashed border) - Synthesize virtual Change nodes in preview-layout.ts with 1:1 mapping to activities: goal→virtualChange→activity edges replace goal→activity direct edges - Mark virtual nodes with a 'virtual' flag and apply 'layer-virtual' CSS class - Update theme CSS to render virtual nodes with the new token - Update preview-layout tests to account for new virtual nodes Virtual nodes use em-dash placeholder labels and are excluded from edge crossing logic by design (the edge now routes through the Change column). This approach replaces the prior skip-edge arcing strategy. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> * feat: add native title tooltips to Goals/DGCA/DGA node previews Hovering any node in the Goals tree, DGCA, or DGA preview now shows a native SVG <title> tooltip with the full untruncated name and entity ID, even when the visible label is truncated/ellipsized. For Goals nodes, tooltip also includes the level (e.g. 'Name — ID — level 2'). For Change nodes (DGCA), includes the count of activity_ids (related to badge work in #543). For Action/Activity nodes, includes the type when present. Implementation: - Wrap node SVG (rect + text) in a <g> element - Insert <title> child before the rect - Content: full name + ID + notation-specific metadata - No visual change to the node box itself Covers Goals/DGCA/DGA. DGA uses the same renderer as DGCA via hideChanges option, so both are updated by modifications to render-fgca.ts. All tests passing. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>
6 tasks done
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.
From: transitrix-studio.
Hold 5b of epic THQ-138 — publish many, consuming the hold-5a artifact.
What this does
attach-release-vsix.yml: on release draft creation, builds the universal VSIX once (build-vsix.yml), records its SHA-256, and attaches both as release assets.openvsx-publish.yml: on release published, downloads that exact attached asset and verifies its checksum instead of repackaging — no rebuild at publish time.vscode-marketplace-publish.yml: removed the automaticrelease: publishedtrigger,workflow_dispatchonly now.Why the third change
Creating a release for the Open VSX step also fires every other workflow listening for
release: published— including the VS Code Marketplace publish workflow, which was still wired to that event. Epic THQ-138 is explicit that nothing is submitted to the VS Code Marketplace under it, andVSCE_PATis a live repo secret, so an unguarded release would have made an authenticated request under the current publisher-identity block. Removing the automatic trigger closes that hole; the workflow is unchanged otherwise and still runs on demand.Docs
Updated
release-runbook.md,openvsx-publish-runbook.md,vscode-marketplace-publish-runbook.mdto match: draft creation now attaches the artifact, Open VSX publish no longer waits on a Marketplace step, and the Marketplace workflow's trigger change is called out where a future reader would look for it.Verification
js-yaml).extension-e2e.yml(hold 6) forbuild-vsix.yml→download-artifact→ hash check.Not done in this PR
Actually cutting the next release (creating the draft, publishing it, verifying Open VSX ends up byte-identical) — that's a real, visible, one-way action against a live registry and stays a maintainer decision, same as the standing rule on running
vsce package/vsce publishlocally.