Skip to content

fix: fail unsafe lint fixer success states#3940

Merged
chubes4 merged 2 commits into
mainfrom
fix/issue-3938-lint-fixer-failures
Jun 10, 2026
Merged

fix: fail unsafe lint fixer success states#3940
chubes4 merged 2 commits into
mainfrom
fix/issue-3938-lint-fixer-failures

Conversation

@chubes4

@chubes4 chubes4 commented Jun 10, 2026

Copy link
Copy Markdown
Member

Summary

  • Treat write-mode formatter failures as hard errors instead of success-shaped warnings, covering both inter-stage and post-write formatting.
  • Re-run lint diagnostics after lint fix-only applies changes and fail when findings remain, so lint --fix / refactor --from lint --write cannot report applied success for a still-rejected worktree.
  • Add regression coverage for formatter failure and remaining-findings rejection.

Fixes #3938.

Testing

  • cargo fmt
  • cargo test sources::tests::

AI assistance

@homeboy-ci

homeboy-ci Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Homeboy Results — homeboy

Lint

lint — passed

ℹ️ Full options: homeboy docs commands/lint
ℹ️ Save lint baseline: homeboy lint homeboy --baseline
Deep dive: homeboy lint homeboy --changed-since 31a73da

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-homeboy-lint-quality-Linux contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-homeboy-lint-quality-Linux contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/homeboy/actions/runs/27290142979

Test

test — passed

  • 4260 passed
  • 23 skipped

ℹ️ Set --setting require_phpunit_tests=true when this component is expected to contain PHPUnit tests.
ℹ️ Auto-fix lint issues: homeboy refactor homeboy --from lint --write
ℹ️ Collect coverage: homeboy test homeboy --coverage
ℹ️ Pass args to test runner: homeboy test -- [args]
ℹ️ Full options: homeboy docs commands/test
Deep dive: homeboy test homeboy --changed-since 31a73da

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-homeboy-test-quality-Linux contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-homeboy-test-quality-Linux contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/homeboy/actions/runs/27290142979

Audit

audit — passed

  • core_boundary_leak:core-agnostic-source — 3 finding(s)
  • structural — 3 finding(s)
  • field_patterns — 2 finding(s)
  • Runs (Tests) — 1 finding(s)
  • intra-method-duplication — 1 finding(s)
  • Total: 10 finding(s)

Deep dive: homeboy audit homeboy --changed-since 31a73da

Artifacts and drill-down
  • CI results artifact: homeboy-ci-results-homeboy-audit-quality-Linux contains immediate command JSON for this action invocation.
  • Observation artifact: homeboy-observations-homeboy-audit-quality-Linux contains exported Homeboy run history for deeper queries.
  • Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
  • Artifacts are attached to the workflow run: https://github.com/Extra-Chill/homeboy/actions/runs/27290142979
Tooling versions
  • Homeboy CLI: homeboy 0.228.0+e40d06b6
  • Extension: rust from https://github.com/Extra-Chill/homeboy-extensions
  • Extension revision: 8758c05d
  • Action: unknown@unknown

@chubes4 chubes4 merged commit c51597a into main Jun 10, 2026
5 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.

Lint fixer reports applied PHPCBF edits while leaving dirty worktree in rejected formatting state

1 participant