Skip to content

feat: Open Knowledge Format (OKF) support — required-frontmatter rule, init --starter okf, and dev guide #1588

feat: Open Knowledge Format (OKF) support — required-frontmatter rule, init --starter okf, and dev guide

feat: Open Knowledge Format (OKF) support — required-frontmatter rule, init --starter okf, and dev guide #1588

Workflow file for this run

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 }}