Skip to content

Support manual package fresh starts without moving release tags - #20

Merged
VolkerChristian merged 1 commit into
mainfrom
ci/manual-package-start
Oct 14, 2026
Merged

VolkerChristian merged 1 commit into
mainfrom
ci/manual-package-start

Conversation

@VolkerChristian

Copy link
Copy Markdown
Member

Add a manual fresh package start for an existing version tag without creating, moving or deleting tags. A new run creates a new immutable source/tooling capture and package revision through the existing preparation path. Job retries continue to require the original artifact; a lost capture is recovered by starting a new manual run rather than mutating its old identity. Existing tag pushes and dependent-target requests keep their current semantics.

Files:

  • ci/dispatch.py
  • docs/maintainers.md
  • tests/check_manual_package_workflows.py
  • tests/test_handoffs.py
  • tests/test_packaging.py

Verification:

  • git diff --cached --check: passed.
  • python3 <control>/tools/snodec_sync page-headers --repo . --check: passed.
  • docs-audit --repo .: 0 violations.
  • python3 tests/check_manual_package_workflows.py <snode.c workflow> <mqttsuite workflow>: both callers passed routing checks and 8 valid/invalid/injection tag-input cases each.
  • SNODEC_TEST_TOOLING=<control> python3 -m unittest discover -s tests -v: all 78 cases executed; 76 passed, 1 existing real-OpenWrt-tools skip, 1 stale merged-symbol expectation initially failed. The stale expected published.svg was corrected while retaining all badge stability checks, and its focused rerun passed. All other suite cases passed.
  • python3 -m unittest discover -s tests -p test_handoffs.py -v: 16 cases, 15 passed and 1 existing OpenWrt-tools skip; manual receiver tests reject wrong branch, repository, workflow, capture, attempt and dependent title.
  • python3 -m unittest discover -s tests -p test_packaging.py -k test_status_render_is_immutable_and_does_not_copy_documentation -v: passed after expectation correction.

Receiver validates manual origin on the source repository’s API-reported default branch and its own run/capture ID, preserving the existing artifact and target-job checks. Maintainer docs also correct the stale navigation dependency reference to the actual .github@main implementation.

Production Python +6/-2 (net +4); test/check code +84/-1 (net +83). The extra manual event is explicitly requested; no new capture storage, retry reconstruction or signing implementation.

Merge DistributionPackages receiver before source callers. Central documentation: SNodeC/.github#27. No manual workflow dispatches, tag operations, settings changes or default-branch renames. The ongoing package chain keeps its original workflow definitions and captures.

@VolkerChristian
VolkerChristian merged commit ce74c49 into main Oct 14, 2026
@VolkerChristian
VolkerChristian deleted the ci/manual-package-start branch October 15, 2026 19:09
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