Skip to content

refactor ghx batch publish contract and docs #1237

refactor ghx batch publish contract and docs

refactor ghx batch publish contract and docs #1237

Workflow file for this run

name: CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
test-agent:
name: Test Agent
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Test Agent
run: make test-agent
build-agent-bundle:
name: Build Agent Bundle
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Build Agent Bundle
run: |
cd agents/claude
npm run bundle
- name: Smoke Test Agent Bundle
run: |
cd agents/claude
npm run smoke-test
- name: Verify Agent Bundle
run: |
cd agents/claude
npm ci
npm run verify-bundle
- name: Test Agent Bundle (Node.js tests)
run: |
cd agents/claude
node --test tests/bundle.test.js
test-unit:
name: Test Unit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
cache: true
- name: Install gotestfmt
run: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
- name: Test Unit
run: make test-unit
test-run-safety:
name: Test Run Safety
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
cache: true
- name: Test Run Safety
run: make test-run-safety
test-integration:
name: Test Integration
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
cache: true
- name: Install gotestfmt
run: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
- name: Set up Docker
uses: docker/setup-buildx-action@v3
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Build Agent Bundle
run: |
cd agents/claude
npm ci
npm run bundle
- name: Test Integration
id: test
run: make test-integration-artifacts
continue-on-error: true
- name: Upload test artifacts on failure
if: steps.test.outcome == 'failure'
uses: actions/upload-artifact@v4
with:
name: integration-test-artifacts
path: |
_testwork/
/tmp/go-test*/
retention-days: 7
if-no-files-found: ignore
- name: Fail if tests failed
if: steps.test.outcome == 'failure'
run: exit 1
build:
name: Build
runs-on: ubuntu-latest
needs: [test-agent, build-agent-bundle, test-unit, test-run-safety, test-integration]
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
cache: true
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Build
run: make build