test(relay): say host, not burrow, where config means a hostname #979
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
| # Generated by tend 0.1.24. 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, | |
| # `running-tend`) in this repo's .claude/skills/ directory, or open an issue at | |
| # https://github.com/max-sixty/tend/issues for changes that need to | |
| # happen upstream in the tend-ci-runner plugin. | |
| name: tend-review | |
| on: | |
| pull_request_target: | |
| types: [opened, synchronize, ready_for_review, reopened] | |
| jobs: | |
| review: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number }} | |
| # Preserve pending PR events within GitHub's queue limit: a push must not | |
| # replace a ready-for-review run. Runs stay serial so outward actions | |
| # cannot race. An override setting `cancel-in-progress: true` must set | |
| # `queue: null` too — GitHub rejects the pair as an invalid workflow file. | |
| queue: max | |
| cancel-in-progress: false | |
| runs-on: ubuntu-24.04 | |
| environment: | |
| name: tend | |
| deployment: false | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| actions: read | |
| issues: write | |
| steps: | |
| - name: React with eyes | |
| run: | | |
| gh api "repos/$REPO/$TARGET/reactions" -f content=eyes --silent \ | |
| || echo "::warning::could not add the eyes reaction" | |
| env: | |
| REPO: ${{ github.repository }} | |
| TARGET: issues/${{ github.event.pull_request.number }} | |
| GITHUB_TOKEN: ${{ secrets.TEND_BOT_TOKEN }} | |
| # GitHub only materializes refs/pull/N/merge for mergeable PRs — on | |
| # conflicting PRs it 404s and every downstream step cascades as skipped. | |
| # Probe first and fall back to /head so review always runs; on fallback | |
| # the review sees the PR branch in isolation rather than the post-merge | |
| # tree. | |
| - name: Resolve PR checkout ref | |
| id: pr_ref | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.TEND_BOT_TOKEN }} | |
| PR: ${{ github.event.pull_request.number }} | |
| run: | | |
| if gh api "repos/${{ github.repository }}/git/ref/pull/$PR/merge" --silent 2>/dev/null; then | |
| echo "ref=refs/pull/$PR/merge" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "ref=refs/pull/$PR/head" >> "$GITHUB_OUTPUT" | |
| echo "::notice::refs/pull/$PR/merge unavailable (likely merge conflict); falling back to /head" | |
| fi | |
| - uses: actions/checkout@v7 | |
| with: | |
| ref: ${{ steps.pr_ref.outputs.ref }} | |
| allow-unsafe-pr-checkout: true | |
| fetch-depth: 0 | |
| fetch-tags: true | |
| token: ${{ secrets.TEND_BOT_TOKEN }} | |
| - uses: max-sixty/tend/claude@0.1.24 | |
| with: | |
| github_token: ${{ secrets.TEND_BOT_TOKEN }} | |
| claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | |
| anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | |
| bot_name: dormouse-bot | |
| model: opus | |
| prompt: |2 | |
| /tend-ci-runner:review ${{ github.event.pull_request.number }} | |
| - name: Remove the eyes reaction | |
| if: always() | |
| run: | | |
| 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 \ | |
| || echo "::warning::could not remove the eyes reaction" | |
| fi | |
| env: | |
| REPO: ${{ github.repository }} | |
| TARGET: issues/${{ github.event.pull_request.number }} | |
| BOT_NAME: dormouse-bot | |
| GITHUB_TOKEN: ${{ secrets.TEND_BOT_TOKEN }} |