Skip to content

publish: inline gather/extract bash, simplify gather with priority-overwrite model#35

Merged
coretl merged 2 commits into
mainfrom
refactor-gather-priority
Jun 30, 2026
Merged

publish: inline gather/extract bash, simplify gather with priority-overwrite model#35
coretl merged 2 commits into
mainfrom
refactor-gather-priority

Conversation

@coretl

@coretl coretl commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Deletes assemble/assemble.sh; all gh/unzip/mv IO is now named inline steps in publish.yml's deploy job
  • Replaces the old per-source skip logic with a priority-overwrite gather model: releases fetched first, branch CI overwrites them, current build overwrites those — no $ARTIFACT_VERSION_NAME exclusion guards needed
  • Seed release is now stored as $DEFAULT.zip (handled in the release gather step) rather than a bespoke third fallback rung
  • Default-branch and PR gathers merged into one step with a shared gather_run() helper; both use the /actions/workflows/ci.yml/runs endpoint consistently (workflow filename, not display name)
  • Download this run's docs artifact and Stage current build are now adjacent and share the same if: inputs.version-name != '' guard
  • Removes guard-default-branch input — missing DEFAULT now always hard-fails at the Ensure default-branch zip step
  • Docs (architecture.md, reference/workflows.md, CLAUDE.md, CONTRIBUTING.md) updated throughout

Test plan

  • npm test passes (pure logic in assemble.mjs unchanged)
  • PR deploy: check deploy job steps match new names in Actions UI
  • Main push deploy: verify _sources/main.zip still persisted in site
  • Tag re-dispatch: verify seed/release gather still produces correct site
  • Fork PR with no approval: warn job fires, no deploy
  • guard-default-branch removed — confirm consumers passing it get a harmless unknown-input warning, not a failure

🤖 Generated with Claude Code

coretl and others added 2 commits June 30, 2026 15:20
…erwrite model

Replaces assemble/assemble.sh with inline bash steps in publish.yml's deploy job
and restructures the gather phase around a "maximally gather, overwriting with higher
priority" model (releases → branch CI → current build).

Key changes:
- Delete assemble/assemble.sh; all gh/unzip/mv IO lives as named steps in publish.yml
- Seed release stored as $DEFAULT.zip (not skipped) so the overwrite chain supersedes it
- Combine default-branch and PR gather into one step with a shared gather_run() helper
  that does the API lookup + download in one call, using the workflow filename (ci.yml)
  consistently via the /actions/workflows/ci.yml/runs endpoint
- Download this run's docs artifact and Stage current build are now adjacent, share the
  same if: guard, and the current build wins by being placed last in the gather dir
- Remove guard-default-branch input: missing DEFAULT now always hard-fails (at the new
  Ensure default-branch zip step) rather than being suppressible
- assemble.mjs and docs updated to reflect the new gather model

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
runner context is not available during expression parsing of a called reusable
workflow's job-level env block. Replace SITE=${{ runner.temp }}/site with
$RUNNER_TEMP/site (runner env var, always set) in shell steps, and
${{ runner.temp }}/site in step with:/env blocks where runner is valid.
Drops the now-unnecessary id: site step output.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coretl coretl merged commit f6745d2 into main Jun 30, 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