From 2916b4734d2e9c34e20223c77c74ad721e18e4c5 Mon Sep 17 00:00:00 2001 From: Nick Cipollina Date: Thu, 3 Sep 2026 22:35:12 -0400 Subject: [PATCH 1/4] chore(github): align workflow config with compono, drop unused templates Ports compono's hardened dependabot auto-merge (SHA-pinned actions, GitHub App token, repo scoping), dependabot.yml's multi-ecosystem-group/cooldown structure, and release-drafter.yml's bang-matching autolabel regex, found during a cross-repo .github audit. Also removes ISSUE_TEMPLATE, DISCUSSION_TEMPLATE, and pull_request_template.md, which weren't in use. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01Qn9kagNWsCubTrnzN6NEqV --- .github/DISCUSSION_TEMPLATE/general.yml | 14 -------- .github/DISCUSSION_TEMPLATE/idea.yml | 17 ---------- .github/DISCUSSION_TEMPLATE/q-and-a.yml | 15 --------- .github/ISSUE_TEMPLATE/bug_report.yml | 37 ---------------------- .github/ISSUE_TEMPLATE/config.yml | 5 --- .github/ISSUE_TEMPLATE/feature_request.yml | 25 --------------- .github/pull_request_template.md | 27 ---------------- 7 files changed, 140 deletions(-) delete mode 100644 .github/DISCUSSION_TEMPLATE/general.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/idea.yml delete mode 100644 .github/DISCUSSION_TEMPLATE/q-and-a.yml delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml delete mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml delete mode 100644 .github/pull_request_template.md diff --git a/.github/DISCUSSION_TEMPLATE/general.yml b/.github/DISCUSSION_TEMPLATE/general.yml deleted file mode 100644 index 5b27cbcb..00000000 --- a/.github/DISCUSSION_TEMPLATE/general.yml +++ /dev/null @@ -1,14 +0,0 @@ -title: ๐Ÿงต Open Discussion -labels: ["discussion"] -body: - - type: markdown - attributes: - value: | - Use this template for general thoughts, ideas, or community discussions. - - type: textarea - id: topic - attributes: - label: What's on your mind? - placeholder: Share your thoughts... - validations: - required: true diff --git a/.github/DISCUSSION_TEMPLATE/idea.yml b/.github/DISCUSSION_TEMPLATE/idea.yml deleted file mode 100644 index 0cf24699..00000000 --- a/.github/DISCUSSION_TEMPLATE/idea.yml +++ /dev/null @@ -1,17 +0,0 @@ -title: ๐Ÿ’ก Idea -labels: ["๐Ÿ’ก idea"] -body: - - type: textarea - id: motivation - attributes: - label: Why do you want this? - placeholder: Explain the problem or opportunity - validations: - required: true - - type: textarea - id: solution - attributes: - label: What's your proposed solution? - placeholder: Describe your idea - validations: - required: true diff --git a/.github/DISCUSSION_TEMPLATE/q-and-a.yml b/.github/DISCUSSION_TEMPLATE/q-and-a.yml deleted file mode 100644 index 4df624f6..00000000 --- a/.github/DISCUSSION_TEMPLATE/q-and-a.yml +++ /dev/null @@ -1,15 +0,0 @@ -title: โ“ Q&A -labels: ["question"] -body: - - type: textarea - id: question - attributes: - label: What is your question? - placeholder: Be specific so others can help you quickly - validations: - required: true - - type: input - id: version - attributes: - label: Library version (if applicable) - placeholder: e.g., 1.2.0 or main branch diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index d373a31f..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: ๐Ÿ› Bug Report -description: Report something that isn't working right -title: "[Bug]: " -labels: [๐Ÿ› bug] -assignees: [] - -body: - - type: markdown - attributes: - value: | - Thanks for reporting! Please fill out the form below so we can help quickly. - - - type: textarea - id: what-happened - attributes: - label: What happened? - placeholder: Describe the bug clearly. - description: Include what you expected to happen. - validations: - required: true - - - type: textarea - id: repro-steps - attributes: - label: Steps to reproduce - placeholder: | - 1. Go to '...' - 2. Click on '...' - 3. See error - validations: - required: true - - - type: input - id: environment - attributes: - label: Environment - placeholder: OS, .NET version, browser, etc. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 49f7e81f..00000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: ๐Ÿ“š Documentation - url: https://github.com/LayeredCraft/.github/wiki - about: Please check the documentation before opening an issue diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index ea9fe723..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: โœจ Feature Request -description: Suggest an idea or improvement -title: "[Feature]: " -labels: [๐Ÿ’ก idea] -assignees: [] - -body: - - type: markdown - attributes: - value: | - Help us understand your idea! - - - type: textarea - id: motivation - attributes: - label: Motivation - placeholder: Why is this needed? - validations: - required: true - - - type: textarea - id: proposal - attributes: - label: Proposed solution - placeholder: Describe the ideal implementation. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 792d6a5f..00000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,27 +0,0 @@ -# ๐Ÿš€ Pull Request - -## ๐Ÿ“‹ Summary - -> Briefly describe what this PR does and why it's needed. - ---- - -## โœ… Checklist - -- [ ] My changes build cleanly -- [ ] Iโ€™ve added/updated relevant tests -- [ ] Iโ€™ve added/updated documentation or README -- [ ] Iโ€™ve followed the coding style for this project -- [ ] Iโ€™ve tested the changes locally (if applicable) - ---- - -## ๐Ÿงช Related Issues or PRs - -Closes #... - ---- - -## ๐Ÿ’ฌ Notes for Reviewers - -> Any specific areas to look at, known issues, or follow-up work. From 888229f5025acf6c7eb35c590b0d1d66f0032fcf Mon Sep 17 00:00:00 2001 From: Nick Cipollina Date: Thu, 3 Sep 2026 22:35:30 -0400 Subject: [PATCH 2/4] chore(github): apply the config edits from the compono alignment audit The template-removal commit picked up the deletions but missed these already-edited files (dependabot.yml, release-drafter.yml, dependabot-auto-merge.yml, AGENTS.md), which were still unstaged. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01Qn9kagNWsCubTrnzN6NEqV --- .github/AGENTS.md | 1 - .github/dependabot.yml | 50 +++++++++------------ .github/release-drafter.yml | 22 ++++----- .github/workflows/dependabot-auto-merge.yml | 26 ++++++++--- 4 files changed, 53 insertions(+), 46 deletions(-) diff --git a/.github/AGENTS.md b/.github/AGENTS.md index 353e8736..8c531cae 100644 --- a/.github/AGENTS.md +++ b/.github/AGENTS.md @@ -3,7 +3,6 @@ ## PRs - PR titles must use Conventional Commits format. -- Use `.github/pull_request_template.md` for PR descriptions. - Dependabot PRs are exempt from title validation. Allowed types: diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5939e764..7e137124 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,4 +1,18 @@ version: 2 + +multi-ecosystem-groups: + infrastructure: + schedule: + interval: "weekly" + day: "wednesday" + open-pull-requests-limit: 25 + cooldown: + default-days: 7 + commit-message: + prefix: "chore" + prefix-development: "chore" + include: "scope" + updates: - package-ecosystem: "nuget" directory: "/" @@ -6,7 +20,10 @@ updates: - "dependabot" schedule: interval: "weekly" - open-pull-requests-limit: 10 + day: "wednesday" + open-pull-requests-limit: 25 + cooldown: + default-days: 7 commit-message: prefix: "chore" prefix-development: "chore" @@ -40,13 +57,7 @@ updates: directory: "/" labels: - "dependabot" - schedule: - interval: "weekly" - open-pull-requests-limit: 10 - commit-message: - prefix: "chore" - prefix-development: "chore" - include: "scope" + multi-ecosystem-group: "infrastructure" groups: minor-and-patch: update-types: @@ -59,13 +70,7 @@ updates: directory: "/" labels: - "dependabot" - schedule: - interval: "weekly" - open-pull-requests-limit: 10 - commit-message: - prefix: "chore" - prefix-development: "chore" - include: "scope" + multi-ecosystem-group: "infrastructure" groups: minor-and-patch: update-types: @@ -76,24 +81,13 @@ updates: directory: "/" labels: - "dependabot" - schedule: - interval: "weekly" - commit-message: - prefix: "chore" - prefix-development: "chore" - include: "scope" + multi-ecosystem-group: "infrastructure" - package-ecosystem: "pip" directory: "/" labels: - "dependabot" - schedule: - interval: "weekly" - open-pull-requests-limit: 10 - commit-message: - prefix: "chore" - prefix-development: "chore" - include: "scope" + multi-ecosystem-group: "infrastructure" groups: minor-and-patch: update-types: diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 231f87e2..c9e19c54 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -4,28 +4,28 @@ tag-template: 'v$RESOLVED_VERSION' autolabeler: - label: 'type: feat' title: - - '/^feat(\([^)]*\))?:/i' + - '/^feat(\(.+\))?(!)?:/i' - label: 'type: fix' title: - - '/^fix(\([^)]*\))?:/i' + - '/^fix(\(.+\))?(!)?:/i' - label: 'type: docs' title: - - '/^docs(\([^)]*\))?:/i' + - '/^docs(\(.+\))?(!)?:/i' - label: 'type: refactor' title: - - '/^refactor(\([^)]*\))?:/i' + - '/^refactor(\(.+\))?(!)?:/i' - label: 'type: test' title: - - '/^test(\([^)]*\))?:/i' + - '/^test(\(.+\))?(!)?:/i' - label: 'type: chore' title: - - '/^chore(\([^)]*\))?:/i' + - '/^chore(\(.+\))?(!)?:/i' - label: 'type: ci' title: - - '/^ci(\([^)]*\))?:/i' + - '/^ci(\(.+\))?(!)?:/i' - label: 'type: revert' title: - - '/^revert(\([^)]*\))?:/i' + - '/^revert(\(.+\))?(!)?:/i' - label: 'breaking-change' title: - '/^(feat|fix|docs|refactor|test|chore|ci|revert)(\([^)]*\))?!:/i' @@ -75,11 +75,13 @@ categories: - type: 'version-resolver' semver-increment: 'major' when: - label: 'breaking-change' + labels: + - 'breaking-change' - type: 'version-resolver' semver-increment: 'minor' when: - label: 'type: feat' + labels: + - 'type: feat' - type: 'version-resolver' semver-increment: 'patch' when: diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index 8dcf657c..b6f1e6e0 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -1,5 +1,8 @@ name: Dependabot auto-merge -on: pull_request + +on: + pull_request_target: + types: [opened, synchronize, reopened] permissions: contents: write @@ -8,23 +11,32 @@ permissions: jobs: dependabot: runs-on: ubuntu-latest - if: github.event.pull_request.user.login == 'dependabot[bot]' + if: github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == 'LayeredCraft/minimal-lambda' steps: - name: Dependabot metadata id: metadata - uses: dependabot/fetch-metadata@v3 + uses: dependabot/fetch-metadata@25dd0e34f4fe68f24cc83900b1fe3fe149efef98 # v3 with: github-token: "${{ secrets.GITHUB_TOKEN }}" + - name: Generate app token + id: app-token + if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor' + uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0 + with: + app-id: ${{ secrets.DEPENDABOT_AUTOMERGE_APP_ID }} + private-key: ${{ secrets.DEPENDABOT_AUTOMERGE_PRIVATE_KEY }} + - name: Approve PR + if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor' run: gh pr review --approve "$PR_URL" env: - PR_URL: ${{github.event.pull_request.html_url}} - GH_TOKEN: ${{secrets.GITHUB_TOKEN}} + PR_URL: ${{ github.event.pull_request.html_url }} + GH_TOKEN: ${{ steps['app-token'].outputs.token }} - name: Enable auto-merge for Dependabot PRs if: steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor' run: gh pr merge --auto --squash "$PR_URL" env: - PR_URL: ${{github.event.pull_request.html_url}} - GH_TOKEN: ${{secrets.GITHUB_TOKEN}} \ No newline at end of file + PR_URL: ${{ github.event.pull_request.html_url }} + GH_TOKEN: ${{ steps['app-token'].outputs.token }} From 42416fce2e23fc67247940d69dbfd21c7447e33d Mon Sep 17 00:00:00 2001 From: Nick Cipollina Date: Thu, 3 Sep 2026 22:37:54 -0400 Subject: [PATCH 3/4] fix(github): add required patterns field to dependabot multi-ecosystem-group entries Dependabot rejected the config: '#/updates/1/patterns' is required when 'multi-ecosystem-group' is set. Missed this field porting compono's multi-ecosystem-groups structure. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01Qn9kagNWsCubTrnzN6NEqV --- .github/dependabot.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7e137124..79986bb6 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -57,6 +57,8 @@ updates: directory: "/" labels: - "dependabot" + patterns: + - "*" multi-ecosystem-group: "infrastructure" groups: minor-and-patch: @@ -70,6 +72,8 @@ updates: directory: "/" labels: - "dependabot" + patterns: + - "*" multi-ecosystem-group: "infrastructure" groups: minor-and-patch: @@ -81,12 +85,16 @@ updates: directory: "/" labels: - "dependabot" + patterns: + - "*" multi-ecosystem-group: "infrastructure" - package-ecosystem: "pip" directory: "/" labels: - "dependabot" + patterns: + - "*" multi-ecosystem-group: "infrastructure" groups: minor-and-patch: From b7fa874451ef6d3b9a14a554875de9f4342499c4 Mon Sep 17 00:00:00 2001 From: Nick Cipollina Date: Thu, 3 Sep 2026 22:41:10 -0400 Subject: [PATCH 4/4] fix(docs): drop stale pull_request_template.md reference from root AGENTS.md Codex review on #396 caught it: the root AGENTS.md still pointed PR authors at ./.github/pull_request_template.md after that file was deleted earlier in this PR. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01Qn9kagNWsCubTrnzN6NEqV --- AGENTS.md | 1 - 1 file changed, 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 0b2b39bf..8c880448 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -39,4 +39,3 @@ task build:aot-check ## Git / PR Use `git-workflow` skill for commits, branches, and PRs. -When writing PRs, use `./.github/pull_request_template.md`.