Skip to content

chore: replace labeler workflows with Carson's auto-labeler and conflicts-notifier - #10547

Merged
paulbalandan merged 1 commit into
codeigniter4:developfrom
paulbalandan:carson-labels
Sep 13, 2026
Merged

chore: replace labeler workflows with Carson's auto-labeler and conflicts-notifier#10547
paulbalandan merged 1 commit into
codeigniter4:developfrom
paulbalandan:carson-labels

Conversation

@paulbalandan

@paulbalandan paulbalandan commented Sep 12, 2026

Copy link
Copy Markdown
Member

Description
Second step of the move onto Carson, following #10529 and #10553. This PR retires both label workflows and replaces them with two Carson subscribers configured in .github/carson.yml.

  • actions/labeler (label-pr.yml + labeler.yml) becomes auto-labeler. The four rules port one-to-one: 4.8 on base branch, github_actions on workflow changes, documentation and testing when every changed file is under the respective directory. sync-labels: true carries over as sync_labels: true.
  • The conflict-detection script (label-add-conflict-all-pr.yml) becomes conflicts-notifier, with the same stale label and the same comment text.

They ship together because Carson routes the conflict label through auto-labeler, so enabling conflicts-notifier alone would post the comment but skip the label.

Changes:

  • .github/carson.yml: enable auto-labeler and conflicts-notifier with the settings above.
  • .github/workflows/run-carson.yml: add labeled to pull_request_target, an issues trigger for opened, edited, and labeled, and push on develop and 4.* so conflicts are re-checked when a base branch advances. The labeled and issues events complete the documented trigger set for auto-labeler and stay inert until issue_rules or implied_labels are configured.
  • Remove .github/labeler.yml, .github/workflows/label-pr.yml, and .github/workflows/label-add-conflict-all-pr.yml. The github-script fork guard in label-pr.yml is no longer needed, since Carson reads its config from the default branch only and never checks out PR code.

Behaviour changes worth knowing:

  • The stale label is now removed automatically once a PR is conflict-free, and the conflict comment is minimized as resolved. The old script only ever added.
  • Conflicts are detected on PR events as well as on pushes to the base branches, so contributors are notified sooner.
  • There is at most one conflict comment per PR for its lifetime. It is unminimized if the PR conflicts again.

None of this takes effect on this PR itself. Under pull_request_target the workflow runs from the base branch, and Carson reads carson.yml from the default branch, so the new triggers and subscribers activate on merge. The merge commit's push to develop runs the first conflict sweep over open PRs.

Next: signed-commits replacing the 1Password action, then welcome and template-enforcer for Mergeable.

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value (without duplication)
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@paulbalandan

Copy link
Copy Markdown
Member Author

The failure is expected, as I opened this from my fork.

@paulbalandan
paulbalandan merged commit 959cc32 into codeigniter4:develop Sep 13, 2026
5 of 6 checks passed
@paulbalandan
paulbalandan deleted the carson-labels branch September 13, 2026 09:20
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