Skip to content

feat(advisory): add a wolfSSL release command - #40

Open
sameehj wants to merge 3 commits into
masterfrom
feat/release-advisory
Open

sameehj wants to merge 3 commits into
masterfrom
feat/release-advisory

Conversation

@sameehj

@sameehj sameehj commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • central/release-advisory draft writes missing overlay lines and stops. Read every REVIEW line. advisory-completeness does not judge the determination.
  • publish checks the release directory, writes the bundle and the per-CVE documents, and adds them with csaf-publish --keep.
  • Signing is --gpg-key, then csaf-verify --fingerprint. A separate gpg --armor --detach-sign does not update provider-metadata.json.
  • Only wolfSSL is accepted. One product per run. The command is not named wolfssl-compliance-tooling.sh.

Part of #39. A product profile for wolfSSH, wolfTPM, and wolfBoot is still open on that issue.

Test plan

  • python3 -m unittest central.test_release_advisory central.test_csaf_publish
  • draft --dry-run on a ChangeLog prints REVIEW and does not write the overlay
  • publish for a real release runs only after the overlay review

@sameehj
sameehj requested review from JacobBarthelmeh and MarkAtwood and a balanced review from Copilot October 19, 2026 04:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Signing transitions, input handling, and deployment guidance can produce invalid or incomplete publications.

7 open issues
What changed in this PR

Adds a two-stage wolfSSL advisory release command, coordinating existing tools while keeping overlay review separate from publication.

Changes:

  • Adds draft and publish orchestration with optional signing and verification.
  • Adds csaf-publish --keep for incremental publication.
  • Documents the workflow and adds tests to CI.
File Description
central/​test_release_advisory.py Tests command construction and CLI behavior.
central/​test_csaf_publish.py Tests incremental publication.
central/​release-advisory Adds the release orchestration command.
central/​README.md Documents the two-stage workflow.
central/​csaf-publish Adds retention of indexed documents.
.github/​workflows/​selftest.yml Includes the new command and tests.
.github/​workflows/​advisory.yml Includes release-command checks and tests.

Review effort: Balanced

Comment thread central/csaf-publish
Comment thread central/csaf-publish
Comment thread central/release-advisory Outdated
Comment thread central/release-advisory Outdated
Comment thread central/release-advisory
Comment thread central/release-advisory Outdated
Comment thread central/release-advisory
MarkAtwood
MarkAtwood previously approved these changes Oct 20, 2026

@MarkAtwood MarkAtwood left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, ran publish end to end against the real ChangeLog for 5.9.1, 5.9.2 and 5.9.4 into one --keep tree, 68 docs, verify ok, and the #30 replace and #32 local-user paths carry through right. copilot's 7 are all real, worth a pass. three inline, please take the changelog one before you merge, the other two are fine as follow-ups

Comment thread central/release-advisory
Comment thread central/release-advisory
Comment thread central/release-advisory Outdated
draft writes the overlay and stops so a person can read every REVIEW line.
publish then checks completeness, generates the bundle, and adds the
documents to the provider tree. A full rebuild would drop an earlier product.
A ChangeLog path that is not a file made the pin check skip. The draft
follow-up now keeps --overlay, pin lines drop inline comments, and the
unsigned hint says to rerun this command with --gpg-key.
--keep leaves the old .asc beside bytes it just replaced, and an empty
tree makes this run the whole catalogue. Remove that signature, warn
when --keep finds no index.txt, and tell the operator to download the
live tree with csaf-fetch first.

Retained documents are not signed here. They were not regenerated, and
csaf-verify --fingerprint still fails closed while they are unsigned.
@sameehj
sameehj force-pushed the feat/release-advisory branch from 259fa12 to 074a2b5 Compare October 29, 2026 11:15
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.

3 participants