You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Under the conventional-commits strategy, every head commit that yields no bump reports the same status and reason:
{"status": "no_conforming_commit", "reason": "No conforming Conventional Commits type found in commit message."}
That's accurate for a message like Fix typo in README. It's wrong for a valid Conventional Commit whose type doesn't bump, such as ci: ..., docs: ..., chore: ... or test: ...: the commit conforms, its type just isn't in minor_types or patch_types. A user reading the reason would think their commit message is malformed.
This repo hits it on most pushes now that semvertag.yml dogfoods with conventional-commits (#96), since most squash titles are docs:, ci: or test:.
Cause: ConventionalCommitsStrategy.decide returns Bump.NONE for both cases, and the use case builds NoBump from the strategy's fixed no_bump_status and no_bump_reason class attributes, so the two cases can't be told apart downstream.
Constraints:
Status tokens are a frozen wire contract (schema_version"1.0"; action.yml maps every non-created status to no-bump). Whether a new token like no_bumping_type is acceptable, or the status stays no_conforming_commit and only the reason changes, is the main decision.
The reason must stay semvertag-controlled text. Naming the parsed type (ci) in it is repo-supplied text, so it should be limited to a validated type token (the strategy already checks types against ^[a-z]+$) or left out. See the field audit pinned in test: pin RunResult's fields so a new one forces a redaction audit #92.
branch-prefix may have the same shape. A merge commit whose source branch prefix isn't mapped to a bump probably also reports a generic no-bump reason. Worth checking whether the fix should be strategy-agnostic.
Revisit trigger: none; actionable once the status-token question is decided.
Under the
conventional-commitsstrategy, every head commit that yields no bump reports the same status and reason:{"status": "no_conforming_commit", "reason": "No conforming Conventional Commits type found in commit message."}That's accurate for a message like
Fix typo in README. It's wrong for a valid Conventional Commit whose type doesn't bump, such asci: ...,docs: ...,chore: ...ortest: ...: the commit conforms, its type just isn't inminor_typesorpatch_types. A user reading the reason would think their commit message is malformed.This repo hits it on most pushes now that
semvertag.ymldogfoods withconventional-commits(#96), since most squash titles aredocs:,ci:ortest:.Cause:
ConventionalCommitsStrategy.decidereturnsBump.NONEfor both cases, and the use case buildsNoBumpfrom the strategy's fixedno_bump_statusandno_bump_reasonclass attributes, so the two cases can't be told apart downstream.Constraints:
schema_version"1.0";action.ymlmaps every non-createdstatus tono-bump). Whether a new token likeno_bumping_typeis acceptable, or the status staysno_conforming_commitand only the reason changes, is the main decision.reasonmust stay semvertag-controlled text. Naming the parsed type (ci) in it is repo-supplied text, so it should be limited to a validated type token (the strategy already checks types against^[a-z]+$) or left out. See the field audit pinned in test: pin RunResult's fields so a new one forces a redaction audit #92.branch-prefixmay have the same shape. A merge commit whose source branch prefix isn't mapped to a bump probably also reports a generic no-bump reason. Worth checking whether the fix should be strategy-agnostic.Revisit trigger: none; actionable once the status-token question is decided.