Skip to content

add asset_key_pattern to the s3 builders#193

Merged
jaemk merged 1 commit into
masterfrom
260716.s3-asset-key-pattern
Jul 17, 2026
Merged

add asset_key_pattern to the s3 builders#193
jaemk merged 1 commit into
masterfrom
260716.s3-asset-key-pattern

Conversation

@jaemk

@jaemk jaemk commented Jul 17, 2026

Copy link
Copy Markdown
Owner
  • Add asset_key_pattern(..) to the s3 Update/ReleaseList builders: a custom regex for deriving (name, version) from object keys, replacing the built-in matcher whose version group only captures a major.minor.patch triple. A pre-release key like mybin-0.1.2-beta-x86_64-... can now parse as 0.1.2-beta instead of 0.1.2.
  • Require name and version named capture groups; compile and validate the pattern at build(), surfacing failures as the new Error::InvalidAssetKeyPattern (s3 feature, source chained).
  • Skip keys whose captured version does not parse as semver (same treatment as the forge backends' non-semver-tag skip). Unset keeps the default matcher's behavior unchanged, pinned by a regression test.
  • Add parse, builder-validation, and loopback-stub end-to-end tests; update specs/ref-s3-backend.md, specs/ref-errors.md, and the CHANGELOG.

Closes #61

Custom regex for deriving (name, version) from s3 object keys, so a
pre-release key like mybin-0.1.2-beta-x86_64-... parses as 0.1.2-beta
instead of the default matcher's lossy 0.1.2 (#61). The pattern must
define name and version named capture groups; it is compiled and
validated at build(), surfacing failures as the new
Error::InvalidAssetKeyPattern. A custom capture that does not parse as
semver skips the key, matching the forge backends' non-semver-tag skip.
Unset keeps the default matcher unchanged.
@jaemk
jaemk merged commit db6bfc2 into master Jul 17, 2026
3 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.

Support pre-release versions

1 participant