Skip to content

Docs review - #31

Merged
coretl merged 6 commits into
DiamondLightSource:mainfrom
coretl:docs-review
Jun 26, 2026
Merged

coretl merged 6 commits into
DiamondLightSource:mainfrom
coretl:docs-review

Conversation

@coretl

@coretl coretl commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

No description provided.

coretl and others added 6 commits June 26, 2026 11:29
… artifact

- Rename _release.yml → release.yml and drop its plugin-specific step (checking
  out version-switcher.mjs). It's now a generic reusable workflow: download every
  artifact in the run (merge-multiple) and attach them to the Release. Downstream
  users `uses:` it directly instead of copying steps.
- _test.yml uploads plugins/version-switcher.mjs as an artifact, so this repo's
  own release run has {docs.zip, version-switcher.mjs} for release.yml to attach —
  dogfooding the generic workflow rather than special-casing the plugin.
- ci.yml: point the release job at release.yml (was _release.yml).
- Tutorial: recommend `uses: release.yml@<tag>` (drop the literalinclude of the
  release steps), fold the env-policy note into step 2, trim cruft.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace softprops/action-gh-release with `gh` so release.yml is robust to how the
release is made:
- no Release yet (git tag && git push) → `gh release create` (draft→upload→publish
  atomically — safe under immutable releases).
- Release already published from the UI (mutable repo) → `gh release upload --clobber`
  to it, leaving its notes/state.

This also drops the third-party action (no SHA pin / Renovate bump) and sidesteps
action-gh-release's immutable-release incompatibility and its already-exists retry bug.

Note the GitHub limitation: workflows don't run for *draft* releases and a *published*
immutable release rejects new assets — so on an immutable repo, attaching CI assets to
a UI-made release isn't possible; use the tag-push path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…mutable only)

Replace the "use the GitHub UI" step 6 with `git tag && git push` as the primary
flow (works everywhere, incl. immutable repos), and note UI-publish as a mutable-only
alternative. Drop the draft-from-UI flow (can't attach CI assets under immutable —
drafts don't trigger workflows and a published immutable release rejects assets).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Update the layout, CI-structure bullet, Releasing/CONTRIBUTING sections, the consumer
snippet prose, and the architecture decision to match the renamed, reusable release.yml
(gh create-or-upload, version-switcher.mjs supplied via the _test.yml artifact;
consumers `uses:` it directly). Add a release.yml entry to the repo layout.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Give the upload an explicit name (not the default "artifact") since release.yml
downloads every artifact in the run, and set if-no-files-found: error — it's a
release asset, so a missing plugin should fail loudly rather than ship an empty one.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… forwarder

publish.yml now owns the event branching (3 jobs: deploy / trampoline / warn), and
publish-dispatch.yml shrinks to a thin workflow_call+workflow_dispatch shim that just
forwards to it. The trampoline lives in the engine: a workflow_call run executes with
the caller's repo + token, so publish.yml can `gh workflow run` the consumer's shim by
name — passed down as the new `dispatch-workflow` input.

Consumers now copy only the ~18-line shim (deploy/warn/trampoline are in the shared
engine, not per-repo), and the shim's workflow_call drops guard-default-branch/pr (ci.yml
only passes version-name; pr arrives via dispatch). ci.yml is unchanged (publish → shim).

Mechanics identical to before — the restructure just moves where the 3 jobs live. Docs
updated (tutorial shim, architecture, reference, CLAUDE.md).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coretl
coretl merged commit 9da44ac into DiamondLightSource:main Jun 26, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant