Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/tend-ci-fix.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by tend 0.1.17. Regenerate with: uvx tend@latest init
# Generated by tend 0.1.18. Regenerate with: uvx tend@latest init
#
# Do not edit this file directly — it will be overwritten on regeneration.
# To customize behavior, edit the relevant skill (for example,
Expand Down Expand Up @@ -32,7 +32,7 @@ jobs:
fetch-tags: true
token: ${{ secrets.TEND_BOT_TOKEN }}

- uses: max-sixty/tend/claude@0.1.17
- uses: max-sixty/tend/claude@0.1.18
with:
github_token: ${{ secrets.TEND_BOT_TOKEN }}
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
Expand Down
53 changes: 30 additions & 23 deletions .github/workflows/tend-mention.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by tend 0.1.17. Regenerate with: uvx tend@latest init
# Generated by tend 0.1.18. Regenerate with: uvx tend@latest init
#
# Do not edit this file directly — it will be overwritten on regeneration.
# To customize behavior, edit the relevant skill (for example,
Expand Down Expand Up @@ -341,26 +341,6 @@ jobs:
PAYLOAD_PR: ${{ github.event.client_payload.pr }}
PAYLOAD_ID: ${{ github.event.client_payload.id }}

# The dispatch arm covers a relayed inline comment, whose id the check
# step verified belongs to this PR; a review *submission* has no single
# comment to react to, so it gets no eyes — same as when the events
# arrived directly.
- name: React with eyes
if: |
steps.check.outputs.should_run == 'true'
&& ((github.event.comment && contains(github.event.comment.body, '@dormouse-bot'))
|| (github.event.client_payload.kind == 'pull_request_review_comment'
&& steps.check.outputs.reason == 'mention'))
run: |
gh api "repos/$REPO/$TARGET/reactions" -f content=eyes --silent \
|| echo "::warning::could not add the eyes reaction"
env:
REPO: ${{ github.repository }}
TARGET: ${{ github.event_name == 'issue_comment'
&& format('issues/comments/{0}', github.event.comment.id)
|| format('pulls/comments/{0}', github.event.comment.id || github.event.client_payload.id) }}
GITHUB_TOKEN: ${{ secrets.TEND_BOT_TOKEN }}

handle:
needs: verify
if: needs.verify.outputs.should_run == 'true'
Expand All @@ -377,6 +357,32 @@ jobs:
actions: read
issues: write
steps:
# Both halves of the reaction belong to this job, so the eyes can only
# go on once the job that takes them off has started. Put them in
# `verify` and `handle` respectively and the routine burst case strands
# them: a third mention on one thread evicts the second's pending
# `handle` — a job cancelled while queued allocates no runner and runs
# no steps, `always()` included — while its `verify` already reacted.
#
# The dispatch arm covers a relayed inline comment, whose id the check
# step verified belongs to this PR; a review *submission* has no single
# comment to react to, so it gets no eyes — same as when the events
# arrived directly. The job's own `if` already carries `should_run`.
- name: React with eyes
if: |
((github.event.comment && contains(github.event.comment.body, '@dormouse-bot'))
|| (github.event.client_payload.kind == 'pull_request_review_comment'
&& needs.verify.outputs.reason == 'mention'))
run: |
gh api "repos/$REPO/$TARGET/reactions" -f content=eyes --silent \
|| echo "::warning::could not add the eyes reaction"
env:
REPO: ${{ github.repository }}
TARGET: ${{ github.event_name == 'issue_comment'
&& format('issues/comments/{0}', github.event.comment.id)
|| format('pulls/comments/{0}', github.event.comment.id || github.event.client_payload.id) }}
GITHUB_TOKEN: ${{ secrets.TEND_BOT_TOKEN }}

- uses: actions/checkout@v7
with:
fetch-depth: 0
Expand Down Expand Up @@ -412,7 +418,7 @@ jobs:
# the API record — the dispatch payload never carries one to spoof.
EVENT_TS: ${{ github.event.comment.updated_at || needs.verify.outputs.ts || github.event.issue.updated_at }}

- uses: max-sixty/tend/claude@0.1.17
- uses: max-sixty/tend/claude@0.1.18
with:
github_token: ${{ secrets.TEND_BOT_TOKEN }}
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
Expand Down Expand Up @@ -448,7 +454,8 @@ jobs:
|| (github.event.client_payload.kind == 'pull_request_review_comment'
&& needs.verify.outputs.reason == 'mention'))
run: |
REACTION_ID=$(gh api "repos/$REPO/$TARGET/reactions?content=eyes" \
REACTION_ID=$(gh api --paginate \
"repos/$REPO/$TARGET/reactions?content=eyes&per_page=100" \
--jq ".[] | select(.user.login == \"$BOT_NAME\") | .id" | head -n1)
if [ -n "$REACTION_ID" ]; then
gh api -X DELETE "repos/$REPO/$TARGET/reactions/$REACTION_ID" --silent \
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tend-nightly.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by tend 0.1.17. Regenerate with: uvx tend@latest init
# Generated by tend 0.1.18. Regenerate with: uvx tend@latest init
#
# Do not edit this file directly — it will be overwritten on regeneration.
# To customize behavior, edit the relevant skill (for example,
Expand Down Expand Up @@ -32,7 +32,7 @@ jobs:
fetch-tags: true
token: ${{ secrets.TEND_BOT_TOKEN }}

- uses: max-sixty/tend/claude@0.1.17
- uses: max-sixty/tend/claude@0.1.18
with:
github_token: ${{ secrets.TEND_BOT_TOKEN }}
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tend-notifications.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by tend 0.1.17. Regenerate with: uvx tend@latest init
# Generated by tend 0.1.18. Regenerate with: uvx tend@latest init
#
# Do not edit this file directly — it will be overwritten on regeneration.
# To customize behavior, edit the relevant skill (for example,
Expand Down Expand Up @@ -145,7 +145,7 @@ jobs:
fetch-depth: 0
fetch-tags: true
token: ${{ secrets.TEND_BOT_TOKEN }}
- uses: max-sixty/tend/claude@0.1.17
- uses: max-sixty/tend/claude@0.1.18
if: steps.check.outputs.count != '0' || github.event_name == 'workflow_dispatch'
with:
github_token: ${{ secrets.TEND_BOT_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tend-review-runs.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by tend 0.1.17. Regenerate with: uvx tend@latest init
# Generated by tend 0.1.18. Regenerate with: uvx tend@latest init
#
# Do not edit this file directly — it will be overwritten on regeneration.
# To customize behavior, edit the relevant skill (for example,
Expand Down Expand Up @@ -32,7 +32,7 @@ jobs:
fetch-tags: true
token: ${{ secrets.TEND_BOT_TOKEN }}

- uses: max-sixty/tend/claude@0.1.17
- uses: max-sixty/tend/claude@0.1.18
with:
github_token: ${{ secrets.TEND_BOT_TOKEN }}
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/tend-review.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by tend 0.1.17. Regenerate with: uvx tend@latest init
# Generated by tend 0.1.18. Regenerate with: uvx tend@latest init
#
# Do not edit this file directly — it will be overwritten on regeneration.
# To customize behavior, edit the relevant skill (for example,
Expand Down Expand Up @@ -134,7 +134,7 @@ jobs:
fetch-tags: true
token: ${{ secrets.TEND_BOT_TOKEN }}

- uses: max-sixty/tend/claude@0.1.17
- uses: max-sixty/tend/claude@0.1.18
if: steps.gate.outputs.should_run == 'true'
with:
github_token: ${{ secrets.TEND_BOT_TOKEN }}
Expand All @@ -148,7 +148,8 @@ jobs:
- name: Remove the eyes reaction
if: always() && (steps.gate.outputs.should_run == 'true')
run: |
REACTION_ID=$(gh api "repos/$REPO/$TARGET/reactions?content=eyes" \
REACTION_ID=$(gh api --paginate \
"repos/$REPO/$TARGET/reactions?content=eyes&per_page=100" \
--jq ".[] | select(.user.login == \"$BOT_NAME\") | .id" | head -n1)
if [ -n "$REACTION_ID" ]; then
gh api -X DELETE "repos/$REPO/$TARGET/reactions/$REACTION_ID" --silent \
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/tend-triage.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by tend 0.1.17. Regenerate with: uvx tend@latest init
# Generated by tend 0.1.18. Regenerate with: uvx tend@latest init
#
# Do not edit this file directly — it will be overwritten on regeneration.
# To customize behavior, edit the relevant skill (for example,
Expand Down Expand Up @@ -44,7 +44,7 @@ jobs:
fetch-tags: true
token: ${{ secrets.TEND_BOT_TOKEN }}

- uses: max-sixty/tend/claude@0.1.17
- uses: max-sixty/tend/claude@0.1.18
with:
github_token: ${{ secrets.TEND_BOT_TOKEN }}
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
Expand All @@ -57,7 +57,8 @@ jobs:
- name: Remove the eyes reaction
if: always()
run: |
REACTION_ID=$(gh api "repos/$REPO/$TARGET/reactions?content=eyes" \
REACTION_ID=$(gh api --paginate \
"repos/$REPO/$TARGET/reactions?content=eyes&per_page=100" \
--jq ".[] | select(.user.login == \"$BOT_NAME\") | .id" | head -n1)
if [ -n "$REACTION_ID" ]; then
gh api -X DELETE "repos/$REPO/$TARGET/reactions/$REACTION_ID" --silent \
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tend-weekly.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by tend 0.1.17. Regenerate with: uvx tend@latest init
# Generated by tend 0.1.18. Regenerate with: uvx tend@latest init
#
# Do not edit this file directly — it will be overwritten on regeneration.
# To customize behavior, edit the relevant skill (for example,
Expand Down Expand Up @@ -32,7 +32,7 @@ jobs:
fetch-tags: true
token: ${{ secrets.TEND_BOT_TOKEN }}

- uses: max-sixty/tend/claude@0.1.17
- uses: max-sixty/tend/claude@0.1.18
with:
github_token: ${{ secrets.TEND_BOT_TOKEN }}
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
Expand Down