diff --git a/.gardener/SKILL.md b/.gardener/SKILL.md index f5dae00b..e61755db 100644 --- a/.gardener/SKILL.md +++ b/.gardener/SKILL.md @@ -3,7 +3,7 @@ name: gardener-tasks description: How to write, change and check Gardener tasks (.gardener/tasks/*/TASK.md), the AI maintenance tasks this repository runs from GitHub Actions. Use before creating or editing anything under .gardener/. --- - + # Gardener tasks @@ -23,13 +23,13 @@ those proposals. Nothing outside the declaration is possible, whatever the instr tasks//TASK.md one task per directory; the only files you write .github/workflows/ gardener-.yml generated, one per task; never edit - gardener-sync.yml generated; never edit + gardener-sync.yml generated (or the "syncWorkflow" name in gardener.json); never edit ``` ## Workflow 1. Create `.gardener/tasks//TASK.md`. Start from the template below or an existing task. -2. Run `npx @scuffi/gardener@0.1.11 generate` from the repository root (or the repository's own +2. Run `npx @scuffi/gardener@0.1.13 generate` from the repository root (or the repository's own `package.json` script, if it has one). Use this exact version: a different one produces files the pull request's **Check tasks** check rejects. 3. Fix every error `generate` prints and read its warnings. Repeat until it succeeds. @@ -89,6 +89,7 @@ Unknown keys are errors. | `model` | no | Model ID. Defaults to `"@cf/zai-org/glm-5.3"`. Quote IDs starting with `@`. | | `draft` | no | `true` makes the task run only by hand. See [Trying a task](#trying-a-task). | | `checkout` | no | `pull-request-head` checks out a pull request's head instead of GitHub's merge preview. Implied when `commit.create` may write beyond `gardener/**`. | +| `reactions` | no | `false` stops the 👀 reaction while the task works on an issue or comment, and the 🚀 or 😕 it leaves after. On by default. | ## Triggers diff --git a/.gardener/gardener.json b/.gardener/gardener.json index 3ca76795..7ec3c025 100644 --- a/.gardener/gardener.json +++ b/.gardener/gardener.json @@ -2,7 +2,7 @@ "schemaVersion": "gardener.project/v1", "target": "github-actions/v1", "release": { - "workflowRef": "scuffi/gardener/.github/workflows/gardener-task.yml@8e5fa4f844bfe26ff1d152757caf4ac0110ff6ef" + "workflowRef": "scuffi/gardener/.github/workflows/gardener-task.yml@8aa3054967ee696be08ff61936c72e199c750ba7" }, "handle": "gardener-cf" } diff --git a/.gardener/gardener.lock.json b/.gardener/gardener.lock.json index ed753e58..606b301f 100644 --- a/.gardener/gardener.lock.json +++ b/.gardener/gardener.lock.json @@ -3,10 +3,10 @@ "target": { "id": "github-actions/v1", "adapterVersion": "1", - "workflowRef": "scuffi/gardener/.github/workflows/gardener-task.yml@8e5fa4f844bfe26ff1d152757caf4ac0110ff6ef" + "workflowRef": "scuffi/gardener/.github/workflows/gardener-task.yml@8aa3054967ee696be08ff61936c72e199c750ba7" }, "release": { - "workflowRef": "scuffi/gardener/.github/workflows/gardener-task.yml@8e5fa4f844bfe26ff1d152757caf4ac0110ff6ef" + "workflowRef": "scuffi/gardener/.github/workflows/gardener-task.yml@8aa3054967ee696be08ff61936c72e199c750ba7" }, "tasks": { "dependabot-merge": { @@ -70,6 +70,7 @@ "pull-requests": "write", "statuses": "read" }, + "reactionPermissions": {}, "callerPermissions": { "checks": "read", "contents": "write", @@ -197,6 +198,10 @@ "issues": "write", "pull-requests": "write" }, + "reactionPermissions": { + "discussions": "write", + "issues": "write" + }, "callerPermissions": { "checks": "read", "contents": "write", @@ -309,6 +314,7 @@ "id-token": "write", "pull-requests": "write" }, + "reactionPermissions": {}, "callerPermissions": { "checks": "read", "contents": "write", @@ -404,6 +410,9 @@ "id-token": "write", "issues": "write" }, + "reactionPermissions": { + "issues": "write" + }, "callerPermissions": { "checks": "read", "contents": "read", diff --git a/.github/workflows/gardener-dependabot-merge.yml b/.github/workflows/gardener-dependabot-merge.yml index 1d9c0e43..1a20d0d4 100644 --- a/.github/workflows/gardener-dependabot-merge.yml +++ b/.github/workflows/gardener-dependabot-merge.yml @@ -34,7 +34,7 @@ jobs: issues: read pull-requests: write statuses: read - uses: scuffi/gardener/.github/workflows/gardener-task.yml@8e5fa4f844bfe26ff1d152757caf4ac0110ff6ef + uses: scuffi/gardener/.github/workflows/gardener-task.yml@8aa3054967ee696be08ff61936c72e199c750ba7 with: runtime-url: ${{ vars.GARDENER_RUNTIME_URL }} task-id: "dependabot-merge" diff --git a/.github/workflows/gardener-mention-reply.yml b/.github/workflows/gardener-mention-reply.yml index eef4a814..087e1b2d 100644 --- a/.github/workflows/gardener-mention-reply.yml +++ b/.github/workflows/gardener-mention-reply.yml @@ -41,7 +41,7 @@ jobs: issues: write pull-requests: write statuses: read - uses: scuffi/gardener/.github/workflows/gardener-task.yml@8e5fa4f844bfe26ff1d152757caf4ac0110ff6ef + uses: scuffi/gardener/.github/workflows/gardener-task.yml@8aa3054967ee696be08ff61936c72e199c750ba7 with: runtime-url: ${{ vars.GARDENER_RUNTIME_URL }} task-id: "mention-reply" @@ -49,3 +49,8 @@ jobs: task-source: ".gardener/tasks/mention-reply/TASK.md" task-bundle-hash: 0980fb762bddd6564da80e353d307b83b45b2daa952d413ad9cb17d289906b6a plan-timeout-minutes: 40 + reactions: >- + ${{ + (github.event_name == 'issue_comment' && github.event.action == 'created' && contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)) + || (github.event_name == 'discussion_comment' && github.event.action == 'created' && contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)) + }} diff --git a/.github/workflows/gardener-pr-review-fix.yml b/.github/workflows/gardener-pr-review-fix.yml index 30083f0a..deb13f8c 100644 --- a/.github/workflows/gardener-pr-review-fix.yml +++ b/.github/workflows/gardener-pr-review-fix.yml @@ -41,7 +41,7 @@ jobs: issues: read pull-requests: write statuses: read - uses: scuffi/gardener/.github/workflows/gardener-task.yml@8e5fa4f844bfe26ff1d152757caf4ac0110ff6ef + uses: scuffi/gardener/.github/workflows/gardener-task.yml@8aa3054967ee696be08ff61936c72e199c750ba7 with: runtime-url: ${{ vars.GARDENER_RUNTIME_URL }} task-id: "pr-review-fix" diff --git a/.github/workflows/gardener-sync.yml b/.github/workflows/gardener-sync.yml index 9ecb2927..a13bd349 100644 --- a/.github/workflows/gardener-sync.yml +++ b/.github/workflows/gardener-sync.yml @@ -27,7 +27,7 @@ jobs: cancel-in-progress: true permissions: contents: read - uses: scuffi/gardener/.github/workflows/gardener-check.yml@8e5fa4f844bfe26ff1d152757caf4ac0110ff6ef + uses: scuffi/gardener/.github/workflows/gardener-check.yml@8aa3054967ee696be08ff61936c72e199c750ba7 sync: if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch) @@ -37,6 +37,6 @@ jobs: permissions: contents: read id-token: write - uses: scuffi/gardener/.github/workflows/gardener-sync.yml@8e5fa4f844bfe26ff1d152757caf4ac0110ff6ef + uses: scuffi/gardener/.github/workflows/gardener-sync.yml@8aa3054967ee696be08ff61936c72e199c750ba7 with: runtime-url: ${{ vars.GARDENER_RUNTIME_URL }} diff --git a/.github/workflows/gardener-triage.yml b/.github/workflows/gardener-triage.yml index 2343648d..0c58b1bb 100644 --- a/.github/workflows/gardener-triage.yml +++ b/.github/workflows/gardener-triage.yml @@ -38,7 +38,7 @@ jobs: issues: write pull-requests: read statuses: read - uses: scuffi/gardener/.github/workflows/gardener-task.yml@8e5fa4f844bfe26ff1d152757caf4ac0110ff6ef + uses: scuffi/gardener/.github/workflows/gardener-task.yml@8aa3054967ee696be08ff61936c72e199c750ba7 with: runtime-url: ${{ vars.GARDENER_RUNTIME_URL }} task-id: "triage" @@ -46,3 +46,7 @@ jobs: task-source: ".gardener/tasks/triage/TASK.md" task-bundle-hash: 0bb7a5125f0c4cb7d83da0ccbc955748b9b3be62edd9e52f2aeaf2cf2ae1aceb plan-timeout-minutes: 15 + reactions: >- + ${{ + (github.event_name == 'issues' && github.event.action == 'opened' && contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.issue.author_association)) + }} diff --git a/package.json b/package.json index 4bfb5502..1cc8e95f 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "check": "biome check . && biome format . && sherif --fail-on-warnings", "check:fix": "biome check . --fix && sherif --fix --select highest", "changeset": "changeset", - "gardener:generate": "npx --yes @scuffi/gardener@0.1.11 generate" + "gardener:generate": "npx --yes @scuffi/gardener@0.1.13 generate" }, "devDependencies": { "@biomejs/biome": "^2.4.16",