diff --git a/.github/workflows/tend-ci-fix.yaml b/.github/workflows/tend-ci-fix.yaml index 307abab2f..fbc66ede3 100644 --- a/.github/workflows/tend-ci-fix.yaml +++ b/.github/workflows/tend-ci-fix.yaml @@ -1,4 +1,4 @@ -# Generated by tend 0.1.13. Regenerate with: uvx tend@latest init +# Generated by tend 0.1.14. 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, @@ -17,11 +17,12 @@ jobs: fix-ci: if: github.repository_owner == 'max-sixty' && github.event.workflow_run.conclusion == 'failure' runs-on: ubuntu-24.04 - environment: tend + environment: + name: tend + deployment: false permissions: contents: write pull-requests: write - id-token: write actions: read steps: - uses: actions/checkout@v7 @@ -33,7 +34,7 @@ jobs: - uses: ./.github/actions/claude-setup - - uses: max-sixty/tend/claude@0.1.13 + - uses: max-sixty/tend/claude@0.1.14 with: github_token: ${{ secrets.TEND_BOT_TOKEN }} claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} diff --git a/.github/workflows/tend-mention.yaml b/.github/workflows/tend-mention.yaml index a9500d6c2..ec959b474 100644 --- a/.github/workflows/tend-mention.yaml +++ b/.github/workflows/tend-mention.yaml @@ -1,4 +1,4 @@ -# Generated by tend 0.1.13. Regenerate with: uvx tend@latest init +# Generated by tend 0.1.14. 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, @@ -105,7 +105,9 @@ jobs: (github.event_name == 'issue_comment' && !contains(github.event.issue.labels.*.name, 'tend-outage')) runs-on: ubuntu-24.04 - environment: tend + environment: + name: tend + deployment: false outputs: should_run: ${{ steps.check.outputs.should_run }} reason: ${{ steps.check.outputs.reason }} @@ -261,9 +263,17 @@ jobs: if printf '%s\n' "$ISSUE_BODY" | grep -qF '@worktrunk-bot'; then echo "should_run=true" >> "$GITHUB_OUTPUT"; exit 0 fi + # Don't reduce inside jq: `gh api --paginate` applies `--jq` once + # per page, so `| length` emits one count per page rather than one + # overall. Past 100 comments the variable holds e.g. `100\n7`, a + # numeric test on it errors with `integer expression expected`, + # and the failed test falls through to should_run=false — the bot + # goes quiet on its most-engaged threads. Capture the per-element + # stream and test it for emptiness — the bare substitution also + # keeps a failing `gh api` fatal under GHA's default `bash -e`. BOT_COMMENTS=$(gh api --paginate "repos/$GITHUB_REPOSITORY/issues/$ISSUE_NUMBER/comments" \ - --jq '[.[] | select(.user.login == "worktrunk-bot")] | length') - if [ "$BOT_COMMENTS" -gt "0" ]; then + --jq '.[] | select(.user.login == "worktrunk-bot") | .id') + if [ -n "$BOT_COMMENTS" ]; then echo "should_run=true" >> "$GITHUB_OUTPUT"; exit 0 fi echo "should_run=false" >> "$GITHUB_OUTPUT"; exit 0 @@ -280,16 +290,17 @@ jobs: echo "reason=participation" >> "$GITHUB_OUTPUT"; exit 0 fi + # Captured, not counted — see the note on the issue-comment lookup above. BOT_REVIEWS=$(gh api --paginate "repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER/reviews" \ - --jq '[.[] | select(.user.login == "worktrunk-bot")] | length') - if [ "$BOT_REVIEWS" -gt "0" ]; then + --jq '.[] | select(.user.login == "worktrunk-bot") | .id') + if [ -n "$BOT_REVIEWS" ]; then echo "should_run=true" >> "$GITHUB_OUTPUT" echo "reason=participation" >> "$GITHUB_OUTPUT"; exit 0 fi BOT_COMMENTS=$(gh api --paginate "repos/$GITHUB_REPOSITORY/issues/$PR_NUMBER/comments" \ - --jq '[.[] | select(.user.login == "worktrunk-bot")] | length') - if [ "$BOT_COMMENTS" -gt "0" ]; then + --jq '.[] | select(.user.login == "worktrunk-bot") | .id') + if [ -n "$BOT_COMMENTS" ]; then echo "should_run=true" >> "$GITHUB_OUTPUT" echo "reason=participation" >> "$GITHUB_OUTPUT"; exit 0 fi @@ -334,11 +345,12 @@ jobs: group: ${{ github.workflow }}-handle-${{ github.event.issue.number || github.event.client_payload.pr }} cancel-in-progress: false runs-on: ubuntu-24.04 - environment: tend + environment: + name: tend + deployment: false permissions: contents: write pull-requests: write - id-token: write actions: read issues: write steps: @@ -379,7 +391,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.13 + - uses: max-sixty/tend/claude@0.1.14 with: github_token: ${{ secrets.TEND_BOT_TOKEN }} claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} diff --git a/.github/workflows/tend-nightly.yaml b/.github/workflows/tend-nightly.yaml index f26458b15..13c7af7c6 100644 --- a/.github/workflows/tend-nightly.yaml +++ b/.github/workflows/tend-nightly.yaml @@ -1,4 +1,4 @@ -# Generated by tend 0.1.13. Regenerate with: uvx tend@latest init +# Generated by tend 0.1.14. 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, @@ -16,11 +16,12 @@ jobs: nightly: if: github.repository_owner == 'max-sixty' runs-on: ubuntu-24.04 - environment: tend + environment: + name: tend + deployment: false permissions: contents: write pull-requests: write - id-token: write actions: read issues: write steps: @@ -33,7 +34,7 @@ jobs: - uses: ./.github/actions/claude-setup - - uses: max-sixty/tend/claude@0.1.13 + - uses: max-sixty/tend/claude@0.1.14 with: github_token: ${{ secrets.TEND_BOT_TOKEN }} claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} diff --git a/.github/workflows/tend-notifications.yaml b/.github/workflows/tend-notifications.yaml index 9a8d205f9..992416d42 100644 --- a/.github/workflows/tend-notifications.yaml +++ b/.github/workflows/tend-notifications.yaml @@ -1,4 +1,4 @@ -# Generated by tend 0.1.13. Regenerate with: uvx tend@latest init +# Generated by tend 0.1.14. 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, @@ -16,11 +16,12 @@ jobs: notifications: if: github.repository_owner == 'max-sixty' runs-on: ubuntu-24.04 - environment: tend + environment: + name: tend + deployment: false permissions: contents: write pull-requests: write - id-token: write actions: read issues: write steps: @@ -137,7 +138,7 @@ jobs: - uses: ./.github/actions/claude-setup if: steps.check.outputs.count != '0' || github.event_name == 'workflow_dispatch' - - uses: max-sixty/tend/claude@0.1.13 + - uses: max-sixty/tend/claude@0.1.14 if: steps.check.outputs.count != '0' || github.event_name == 'workflow_dispatch' with: github_token: ${{ secrets.TEND_BOT_TOKEN }} diff --git a/.github/workflows/tend-review-runs.yaml b/.github/workflows/tend-review-runs.yaml index dcfe0ffe9..ef3ceb4ef 100644 --- a/.github/workflows/tend-review-runs.yaml +++ b/.github/workflows/tend-review-runs.yaml @@ -1,4 +1,4 @@ -# Generated by tend 0.1.13. Regenerate with: uvx tend@latest init +# Generated by tend 0.1.14. 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, @@ -16,11 +16,12 @@ jobs: review-runs: if: github.repository_owner == 'max-sixty' runs-on: ubuntu-24.04 - environment: tend + environment: + name: tend + deployment: false permissions: contents: write pull-requests: write - id-token: write actions: read issues: write steps: @@ -33,7 +34,7 @@ jobs: - uses: ./.github/actions/claude-setup - - uses: max-sixty/tend/claude@0.1.13 + - uses: max-sixty/tend/claude@0.1.14 with: github_token: ${{ secrets.TEND_BOT_TOKEN }} claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} diff --git a/.github/workflows/tend-review.yaml b/.github/workflows/tend-review.yaml index a30edf75d..bad74cd54 100644 --- a/.github/workflows/tend-review.yaml +++ b/.github/workflows/tend-review.yaml @@ -1,4 +1,4 @@ -# Generated by tend 0.1.13. Regenerate with: uvx tend@latest init +# Generated by tend 0.1.14. 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, @@ -17,11 +17,12 @@ jobs: group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true runs-on: ubuntu-24.04 - environment: tend + environment: + name: tend + deployment: false permissions: contents: write pull-requests: write - id-token: write actions: read issues: write steps: @@ -62,7 +63,7 @@ jobs: fetch-tags: true token: ${{ secrets.TEND_BOT_TOKEN }} - - uses: max-sixty/tend/claude@0.1.13 + - uses: max-sixty/tend/claude@0.1.14 with: github_token: ${{ secrets.TEND_BOT_TOKEN }} claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} diff --git a/.github/workflows/tend-triage.yaml b/.github/workflows/tend-triage.yaml index 04422ecbd..25a4e0ae5 100644 --- a/.github/workflows/tend-triage.yaml +++ b/.github/workflows/tend-triage.yaml @@ -1,4 +1,4 @@ -# Generated by tend 0.1.13. Regenerate with: uvx tend@latest init +# Generated by tend 0.1.14. 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, @@ -19,11 +19,12 @@ jobs: triage: if: github.repository_owner == 'max-sixty' && contains(github.event.issue.labels.*.name, 'tend-outage') == false runs-on: ubuntu-24.04 - environment: tend + environment: + name: tend + deployment: false permissions: contents: write pull-requests: write - id-token: write actions: read issues: write steps: @@ -36,7 +37,7 @@ jobs: - uses: ./.github/actions/claude-setup - - uses: max-sixty/tend/claude@0.1.13 + - uses: max-sixty/tend/claude@0.1.14 with: github_token: ${{ secrets.TEND_BOT_TOKEN }} claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} diff --git a/.github/workflows/tend-weekly.yaml b/.github/workflows/tend-weekly.yaml index 6cfe44db9..50ad9f63a 100644 --- a/.github/workflows/tend-weekly.yaml +++ b/.github/workflows/tend-weekly.yaml @@ -1,4 +1,4 @@ -# Generated by tend 0.1.13. Regenerate with: uvx tend@latest init +# Generated by tend 0.1.14. 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, @@ -16,11 +16,12 @@ jobs: weekly: if: github.repository_owner == 'max-sixty' runs-on: ubuntu-24.04 - environment: tend + environment: + name: tend + deployment: false permissions: contents: write pull-requests: write - id-token: write actions: read issues: write steps: @@ -33,7 +34,7 @@ jobs: - uses: ./.github/actions/claude-setup - - uses: max-sixty/tend/claude@0.1.13 + - uses: max-sixty/tend/claude@0.1.14 with: github_token: ${{ secrets.TEND_BOT_TOKEN }} claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}