refactor(astutil): export CountLeadingSpaces and IsBlank, remove per-rule duplicates #1592
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Merge Queue | |
| on: | |
| pull_request: | |
| types: [labeled] | |
| workflow_dispatch: | |
| inputs: | |
| batch_prs: | |
| type: string | |
| required: false | |
| bisect: | |
| type: boolean | |
| default: true | |
| concurrency: | |
| group: merge-queue | |
| cancel-in-progress: false | |
| # Only merge-queue-action below needs MERGE_QUEUE_TOKEN's elevated | |
| # scope; the rest of the job runs under the default GITHUB_TOKEN | |
| # capped at read-only. | |
| permissions: | |
| contents: read | |
| jobs: | |
| queue: | |
| # Only engage the merge-queue action when the `queue` label is the one | |
| # being added (or on manual dispatch). Firing on any label makes the job | |
| # run for routine labels like Dependabot's `dependencies`/`go`, where | |
| # secrets.MERGE_QUEUE_TOKEN is withheld from the run and the action fails | |
| # with "Input required and not supplied: token". Guarding on the label | |
| # name skips those events cleanly instead of failing on the absent token. | |
| if: >- | |
| github.event_name == 'workflow_dispatch' || | |
| github.event.label.name == 'queue' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| # Default GITHUB_TOKEN (constrained by the permissions: block | |
| # above) is enough for read-only checkout. MERGE_QUEUE_TOKEN | |
| # stays scoped to the merge-queue-action step that actually | |
| # needs branch-protection bypass. | |
| persist-credentials: false | |
| - uses: ./.github/actions/setup-mdsmith-pinned-version | |
| - name: Install mdsmith merge driver and pre-merge-commit hook | |
| # Use `ci-install`, not `install`: `install` re-renders | |
| # .gitattributes from .mdsmith.yml, so a drifted committed copy | |
| # would be rewritten here, dirtying the worktree and aborting the | |
| # action's `git merge` — which requeues the PR and re-fires the | |
| # labeled trigger forever. `ci-install` verifies .gitattributes | |
| # instead of writing it (it cannot dirty the tree) and fails loudly | |
| # on drift, turning a loop into one clean red run. Requires the | |
| # pinned baseline (setup-mdsmith-pinned-version) to ship ci-install. | |
| run: | | |
| mdsmith merge-driver ci-install | |
| mdsmith pre-merge-commit install | |
| - uses: jeduden/merge-queue-action@2edfb80a17f2f70481d9e153428c17448ff6d120 #v0.7.9 | |
| with: | |
| token: ${{ secrets.MERGE_QUEUE_TOKEN }} | |
| ci_workflow: .github/workflows/ci.yml | |
| batch_size: "5" | |
| bisect: ${{ github.event.inputs.bisect }} | |
| batch_prs: ${{ github.event.inputs.batch_prs }} |