Skip to content

Limit agent review replies to 600 characters #1553

Limit agent review replies to 600 characters

Limit agent review replies to 600 characters #1553

Workflow file for this run

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