feat: add block_quic config option (#213) #27
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
| # Updates the draft GitHub release on every push to main, and applies | |
| # Conventional-Commit-derived labels to incoming PRs. Config lives in | |
| # `.github/release-drafter.yml`. The drafter writes one line per merged | |
| # PR into a draft release tagged `next`; `prepare-release.yml` reads | |
| # that body when bumping versions so the English half of | |
| # `docs/changelog/v<ver>.md` is prefilled. | |
| # | |
| # Cost: one ubuntu-latest job per relevant PR/push event, single API | |
| # call, no compile, no tests. Zero contention with the self-hosted | |
| # Hetzner runners that release.yml uses. | |
| name: release-drafter | |
| on: | |
| push: | |
| branches: [main] | |
| # `pull_request_target` runs in the context of the base branch (main), | |
| # which is what the autolabeler needs to write labels back to PRs — | |
| # including PRs from forks, which the regular `pull_request` event | |
| # doesn't grant write permissions for. We never check out PR code | |
| # in this workflow (only call the action), so the elevated context | |
| # is safe. | |
| pull_request_target: | |
| types: [opened, reopened, synchronize, edited] | |
| permissions: | |
| contents: read | |
| jobs: | |
| update-draft: | |
| permissions: | |
| contents: write # write the draft release object | |
| pull-requests: write # apply autolabeler labels to incoming PRs | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Ensure the labels referenced by .github/release-drafter.yml's | |
| # autolabeler block all exist. release-drafter logs a warning and | |
| # skips when it tries to apply a label that's missing — labelling | |
| # itself doesn't fail, but exclude-labels and downstream filtering | |
| # become silent no-ops. `gh label create … || true` is idempotent: | |
| # creates on first run, exits with "already exists" on every run | |
| # after that. Cheap (5 API calls per workflow run, no compile). | |
| - name: Ensure autolabeler labels exist | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| set -euo pipefail | |
| # Format: name|color|description (color without leading #). | |
| while IFS='|' read -r name color desc; do | |
| gh label create "$name" --color "$color" --description "$desc" \ | |
| --repo "${{ github.repository }}" 2>/dev/null || true | |
| done <<'LABELS' | |
| release-prep|ededed|Automated version-bump PR; excluded from release-drafter changelog | |
| type: feature|a2eeef|feat: PR — auto-applied by release-drafter | |
| type: fix|d73a4a|fix: PR — auto-applied by release-drafter | |
| type: chore|cfd3d7|chore: PR — auto-applied by release-drafter | |
| type: docs|0075ca|docs: PR — auto-applied by release-drafter | |
| type: refactor|fbca04|refactor: PR — auto-applied by release-drafter | |
| LABELS | |
| - uses: release-drafter/release-drafter@v6 | |
| with: | |
| config-name: release-drafter.yml | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |