Skip to content

Add .abortOnError to opt a check out of continue-on-error - #376

Merged
alejandrohdezma merged 3 commits into
mainfrom
feat/abort-on-error
May 19, 2026
Merged

Add .abortOnError to opt a check out of continue-on-error#376
alejandrohdezma merged 3 commits into
mainfrom
feat/abort-on-error

Conversation

@alejandrohdezma

Copy link
Copy Markdown
Owner

💻 How to review this PR?

This PR was created with the idea of being reviewed commit by commit. Each commit contains an incremental change that makes it easier to review. Also some of the commits contain additional information in their description to help understand why the change was made.

I also recommend checking "Hide whitespace" when reviewing this PR!

🚀 What's included in this PR?

  • Polish CI summary output: project name is now included in the Markdown heading (# CI checks for <name> (<scalaVersion>)) so per-project / multi-project invocations produce distinct, identifiable blocks when several writes land on the same $GITHUB_STEP_SUMMARY file; PASS/FAIL replaced with ✅ / ❌ emoji in the console summary and the Markdown table; built-in step labels shortened (scalafmt, scalafmt-sbt, scalafix) since "check" is redundant in the fix --check / ci context.
  • .abortOnError combinator on NamedCheck: opts a check out of the default continue-on-error semantics. When a check tagged .abortOnError fails, the remaining checks are marked Skipped (⏭️) without being run. The default stays continue-on-error so fix --check keeps surfacing every formatter/linter violation in one pass; the new combinator is for foundational checks (e.g. compile) where downstream checks after a failure are pointless.
  • versionPolicyIntention := Compatibility.None for this release, since adding a field to the NamedCheck case class is a binary-incompatible signature change.

- Include the current project's `name` in the Markdown heading (`# CI checks for <name> (<scalaVersion>)`) so per-project / multi-project invocations produce distinct, identifiable blocks when several writes land on the same `$GITHUB_STEP_SUMMARY` file.
- Use ✅ / ❌ in the console summary and the Markdown table instead of `PASS` / `FAIL`.
- Drop the `-check` suffix from the built-in step labels (`scalafmt`, `scalafmt-sbt`, `scalafix`) since "check" is redundant in the `fix --check` / `ci` context.
`fix --check` runs every check even on failure so a single CI run surfaces every violation. For foundational checks (e.g. `compile`) running downstream checks after a failure is pointless. Marking a `NamedCheck` `.abortOnError` stops the chain on its failure; subsequent checks are reported as Skipped (⏭️) without being run. The default stays continue-on-error.
@github-actions github-actions Bot added 🚀 feature New feature or improvement ⚖️ M Size of PR between 100 and 500 lines labels May 19, 2026
@alejandrohdezma
alejandrohdezma merged commit fc91043 into main May 19, 2026
6 checks passed
@alejandrohdezma
alejandrohdezma deleted the feat/abort-on-error branch May 19, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚖️ M Size of PR between 100 and 500 lines 🚀 feature New feature or improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant