Skip to content

Improve/release workflow#5

Merged
swcurran merged 5 commits into
mainfrom
improve/release-workflow
May 29, 2026
Merged

Improve/release workflow#5
swcurran merged 5 commits into
mainfrom
improve/release-workflow

Conversation

@IVIR3zaM

@IVIR3zaM IVIR3zaM commented May 29, 2026

Copy link
Copy Markdown
Collaborator
  • Replace generate_release_notes: true with an awk-based extraction
    of the matching ## [VERSION] section from CHANGELOG.md. Embedding
    the section content sidesteps GitHub's date-sensitive anchor
    generation (e.g. 030---2026-05-29) so release notes stay correct
    regardless of when the tag is cut. Fails the job if no matching
    section is found, surfacing missing CHANGELOG entries early.
  • Append an Artifacts block that points library users at Maven Central
    with a ready-to-paste coordinate, and notes that the wizard uber-jar
    is the only attached download (it is excluded from Central deploys).
  • Fix the wizard jar glob: the shade plugin writes
    didwebvh-wizard/target/didwebvh-wizard.jar (no version, no
    -shaded classifier), so the previous *-shaded.jar pattern matched
    nothing and broke release uploads.
  • Raise didwebvh-core coverage from ~77% to ~82% on the Codecov metric by targeting real branch paths in LogChainValidator, LogProcessor, DidResolver, MigrateDidOperation, CreateDidOperation, DidWebVhUrl, and FileDidFetcher — malformed versionId/versionTime, future-timestamp rejection, method-version downgrade, witness threshold/fetch-mode branches, migrate input guards, controller array vs string forms, and URL port/IPv6/empty-domain validation.

IVIR3zaM and others added 4 commits May 29, 2026 11:00
- Replace `generate_release_notes: true` with an awk-based extraction
  of the matching `## [VERSION]` section from CHANGELOG.md. Embedding
  the section content sidesteps GitHub's date-sensitive anchor
  generation (e.g. `030---2026-05-29`) so release notes stay correct
  regardless of when the tag is cut. Fails the job if no matching
  section is found, surfacing missing CHANGELOG entries early.
- Append an Artifacts block that points library users at Maven Central
  with a ready-to-paste coordinate, and notes that the wizard uber-jar
  is the only attached download (it is excluded from Central deploys).
- Fix the wizard jar glob: the shade plugin writes
  `didwebvh-wizard/target/didwebvh-wizard.jar` (no version, no
  `-shaded` classifier), so the previous `*-shaded.jar` pattern matched
  nothing and broke release uploads.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The README directs users at the aggregate `didwebvh-java` artifact
(pom.xml:8), which transitively brings in `didwebvh-core` and
`didwebvh-signing-local`. Release notes were recommending `didwebvh-core`
alone, which is the right call only when supplying a custom `Signer`.
Lead with the aggregate, mention `didwebvh-core` as the BYO-Signer
alternative — matching README.md:35-47 exactly.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Lift didwebvh-core coverage from ~84% to ~91% by exercising real behaviour:

- LogChainValidator: malformed versionId, malformed versionTime
  (with a properly-rehashed entry so the parse step is actually
  reached), last-entry versionTime > now+60s rejection, and
  witness threshold = 0 rejection.
- DidResolver: invalid versionNumber query → invalidDid,
  versionTime query selector honoured, PROACTIVE witness fetch
  (success / swallowed notFound / non-notFound rethrow),
  WHEN_REQUIRED with missing witness → "Witness proofs are
  required" mapped to invalidDid, and the resolveFromLog(rawJsonl,
  did) overload.
- FileDidFetcher: null-path → invalidDid and missing file →
  notFound error-code mapping.
- Jcs: malformed JSON wraps IOException as ValidationException.
@codecov

codecov Bot commented May 29, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

…te, URL

Raise didwebvh-core Codecov coverage from ~77% to ~82% (line
coverage 93%) by adding branch-targeted tests on meaningful spec
behaviour. Locally measured codecov-equivalent ratio
(hits / (hits + misses + partial branches)).

- LogChainValidator: first-entry missing scid / missing updateKeys,
  method-version downgrade rejection (exercises compareMethod /
  extractMethodVersion).
- LogProcessor: empty/blank log content, malformed JSONL entry,
  unknown versionId/versionNumber selectors, malformed versionTime
  query, versionTime before first entry, malformed witness proofs.
- MigrateDidOperation: null existingState/signer/newDomain,
  empty newDomain, deactivated-DID rejection, newPath path-segment
  appending, alsoKnownAs duplicate skip.
- CreateDidOperation: controllers list omitted/single/array forms;
  extractMultikey for bare did:key VM and rejection of non-did:key
  verification methods.
- DidWebVhUrl: empty domain, port out of range, non-numeric port,
  bracketed IPv6 host, '=' less query param, multi-param toString.
- CHANGELOG: rewrite the v0.3.0 coverage entry to reflect the
  Codecov-metric numbers and scope.
@swcurran swcurran merged commit 220508b into main May 29, 2026
6 checks passed
@IVIR3zaM IVIR3zaM deleted the improve/release-workflow branch May 29, 2026 14:42
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.

2 participants