Limit agent review replies to 600 characters #1553
Workflow file for this run
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
| name: CI | |
| on: | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| ci: | |
| runs-on: self-hosted | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| # ci.yml doesn't call gh/git push/private-registry work (that's release.yml). | |
| # Skipping credential persist means checkout's post-run also skips the | |
| # `git submodule foreach --recursive` cleanup loop, which is unnecessary | |
| # with no submodules and slow on self-hosted macOS. | |
| persist-credentials: false | |
| - uses: pnpm/action-setup@v6 | |
| with: | |
| version: 9 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: "1.3.13" | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - name: Start Postgres | |
| id: postgres | |
| run: | | |
| CONTAINER="dispatch-ci-$GITHUB_RUN_ID" | |
| echo "container=$CONTAINER" >> "$GITHUB_OUTPUT" | |
| PORT=$((RANDOM % 10000 + 10000)) | |
| echo "port=$PORT" >> "$GITHUB_OUTPUT" | |
| docker run --rm -d \ | |
| --name "$CONTAINER" \ | |
| -e POSTGRES_USER=dispatch \ | |
| -e POSTGRES_PASSWORD=dispatch \ | |
| -e POSTGRES_DB=postgres \ | |
| -p "$PORT":5432 \ | |
| postgres:17-alpine | |
| for i in $(seq 1 15); do | |
| docker exec "$CONTAINER" pg_isready -U dispatch && break | |
| sleep 1 | |
| done | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Playwright browsers | |
| run: pnpm exec playwright install chromium | |
| - name: Validate assisted-update metadata | |
| run: | | |
| META="release-notes/next-assisted-update.json" | |
| if [ -f "$META" ]; then | |
| bun bin/embed-assisted-update.ts --check-only --metadata "$META" | |
| fi | |
| - name: CI checks | |
| run: pnpm run ci | |
| env: | |
| TEST_DATABASE_URL: postgres://dispatch:[email protected]:${{ steps.postgres.outputs.port }}/postgres | |
| - name: Build Bun binaries | |
| run: pnpm run build:bun | |
| - name: Smoke test compiled binary for host platform | |
| run: | | |
| case "$(uname -s)" in | |
| Darwin) PLATFORM="darwin" ;; | |
| Linux) PLATFORM="linux" ;; | |
| *) echo "unsupported platform: $(uname -s)" >&2; exit 1 ;; | |
| esac | |
| case "$(uname -m)" in | |
| aarch64|arm64) ARCH="arm64" ;; | |
| x86_64) ARCH="x64" ;; | |
| *) echo "unsupported architecture: $(uname -m)" >&2; exit 1 ;; | |
| esac | |
| BINARY=$(find dist/bun -maxdepth 1 -type f -name "dispatch-*-bun-${PLATFORM}-${ARCH}" | head -n 1) | |
| if [[ -z "$BINARY" ]]; then | |
| echo "error: no Bun binary found for platform ${PLATFORM}/${ARCH}" >&2 | |
| exit 1 | |
| fi | |
| bun scripts/smoke-bun-binary.mjs "$BINARY" | |
| env: | |
| TEST_DATABASE_URL: postgres://dispatch:[email protected]:${{ steps.postgres.outputs.port }}/postgres | |
| - name: Upload Playwright report | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: playwright-report | |
| path: test-results/ | |
| retention-days: 7 | |
| - name: Stop Postgres | |
| if: always() | |
| run: docker stop ${{ steps.postgres.outputs.container }} 2>/dev/null || true |