Skip to content

feat(worker): check routability between turns #1157

feat(worker): check routability between turns

feat(worker): check routability between turns #1157

Workflow file for this run

name: CI
on:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: true
jobs:
test:
name: Test
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24
cache: "pnpm"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build
run: pnpm build
- name: Lint
run: pnpm lint
- name: Typecheck
run: pnpm typecheck
- name: Run tests with coverage
run: npx vitest run --coverage.enabled --coverage.reporter=json-summary --coverage.reporter=json
- name: Compose project helper test
run: pnpm e2e:compose-project-test
- name: Package entrypoint smoke test
run: pnpm --filter @gh-symphony/cli test:package
- name: Coverage Report
uses: davelosert/vitest-coverage-report-action@v2
if: always()
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
container-smoke:
name: Container Smoke
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build container image from local package bundle
run: |
docker build \
--build-arg INSTALLER_STAGE=installer-local \
--tag gh-symphony:test .
- name: Smoke test container image
run: |
TMPDIR="$(mktemp -d)"
mkdir -p "${TMPDIR}/config/repo"
cat > "${TMPDIR}/config/repo/WORKFLOW.md" <<'EOF'
---
tracker:
kind: file
project_id: smoke-file
state_field: Status
active_states:
- Ready
terminal_states:
- Done
polling:
interval_ms: 30000
agent:
max_concurrent_agents: 1
codex:
command: node /app/e2e/stub-worker.js
---
Smoke test workflow.
EOF
echo "[]" > "${TMPDIR}/config/issues.json"
git -C "${TMPDIR}/config/repo" init
git -C "${TMPDIR}/config/repo" remote add origin https://github.com/smoke-org/smoke-repo.git
sudo chown -R 1000:1000 "${TMPDIR}/config"
docker run --rm gh-symphony:test gh-symphony --version
docker run --rm \
-v "${TMPDIR}/config:/var/lib/gh-symphony" \
-e GH_SYMPHONY_FILE_TRACKER_ISSUES_PATH=/var/lib/gh-symphony/issues.json \
gh-symphony:test \
sh -lc 'cd /var/lib/gh-symphony/repo && gh-symphony repo init && gh-symphony repo start --once'