Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
315 changes: 228 additions & 87 deletions .github/workflows/build-binaries.yml

Large diffs are not rendered by default.

80 changes: 72 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,15 @@ on:
branches: [main]
pull_request:
branches: [main]
workflow_call:
inputs:
source_sha:
description: Full commit SHA to verify
required: true
type: string

concurrency:
group: ci-${{ github.ref }}
group: ci-${{ inputs.source_sha || github.ref }}
cancel-in-progress: true

permissions:
Expand All @@ -21,6 +27,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ inputs.source_sha || github.sha }}
persist-credentials: false

- name: Verify source commit
env:
SOURCE_SHA: ${{ inputs.source_sha || github.sha }}
run: test "$(git rev-parse HEAD)" = "$SOURCE_SHA"

- name: Setup Node.js
uses: actions/setup-node@v7.0.0
Expand Down Expand Up @@ -86,6 +100,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ inputs.source_sha || github.sha }}
persist-credentials: false

- name: Verify source commit
env:
SOURCE_SHA: ${{ inputs.source_sha || github.sha }}
run: test "$(git rev-parse HEAD)" = "$SOURCE_SHA"

- name: Setup Node.js
uses: actions/setup-node@v7.0.0
Expand Down Expand Up @@ -115,16 +137,58 @@ jobs:
working-directory: ${{ matrix.package }}
run: ${{ matrix.command }}

python-runtime:
name: Python runtime tests
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ inputs.source_sha || github.sha }}
persist-credentials: false

- name: Verify source commit
env:
SOURCE_SHA: ${{ inputs.source_sha || github.sha }}
run: test "$(git rev-parse HEAD)" = "$SOURCE_SHA"

- name: Setup Python
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
python-version: '3.11.15'

- name: Install pinned uv
run: python -m pip install uv==0.11.33

- name: Install locked runtime test dependencies
working-directory: prime-agent-runtime
run: uv sync --frozen --group test

- name: Test runtime
working-directory: prime-agent-runtime
run: uv run --frozen --group test python -m unittest discover -s test -p 'test_*.py'

build-check-test:
name: build-check-test
if: always()
needs: [build-check, test]
needs: [build-check, test, python-runtime]
runs-on: ubuntu-latest
steps:
- name: Verify CI results
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ inputs.source_sha || github.sha }}
persist-credentials: false

- name: Verify source commit
env:
BUILD_CHECK_RESULT: ${{ needs.build-check.result }}
TEST_RESULT: ${{ needs.test.result }}
run: |
test "$BUILD_CHECK_RESULT" = success
test "$TEST_RESULT" = success
SOURCE_SHA: ${{ inputs.source_sha || github.sha }}
run: test "$(git rev-parse HEAD)" = "$SOURCE_SHA"

- name: Verify CI results
run: >-
node scripts/verify-ci-results.mjs
build-check=${{ needs.build-check.result }}
test=${{ needs.test.result }}
python-runtime=${{ needs.python-runtime.result }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,4 @@ collect.sh

__pycache__/
*.pyc
.venv/
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@
"build": "cd packages/tui && npm run build && cd ../ai && npm run build && cd ../agent && npm run build && cd ../coding-agent && npm run build",
"dev": "concurrently --names \"ai,agent,coding-agent,tui\" --prefix-colors \"cyan,yellow,red,magenta\" \"cd packages/ai && npm run dev\" \"cd packages/agent && npm run dev\" \"cd packages/coding-agent && npm run dev\" \"cd packages/tui && npm run dev\"",
"dev:tsc": "cd packages/ai && npm run dev:tsc",
"check": "biome check --write --error-on-warnings . && tsgo --noEmit && npm run check:installer && npm run check:browser-smoke",
"check": "biome check --write --error-on-warnings . && tsgo --noEmit && npm run check:installer && npm run check:browser-smoke && npm run check:release-workflow",
"check:installer": "node scripts/check-installer-render.mjs",
"check:browser-smoke": "node scripts/check-browser-smoke.mjs",
"check:release-workflow": "node --test scripts/release-workflow.test.mjs",
"profile:tui": "node scripts/profile-coding-agent-node.mjs --mode tui",
"profile:rpc": "node scripts/profile-coding-agent-node.mjs --mode rpc",
"test": "npm run test --workspaces --if-present",
Expand Down
8 changes: 7 additions & 1 deletion prime-agent-runtime/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,14 @@ dependencies = [
"tyro",
]

[dependency-groups]
test = [
"httpx",
"mcp>=1.0",
]

[build-system]
requires = ["hatchling"]
requires = ["hatchling==1.27.0"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
Expand Down
Loading