Skip to content

feat: define scheduler handoff v4 artifact #92

feat: define scheduler handoff v4 artifact

feat: define scheduler handoff v4 artifact #92

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test-matrix:
name: test (Node ${{ matrix.node-version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ['22.13.0', '24.x']
env:
OPENCLAW_SCHEDULER_REF: b6dd91180244b39e0c3c93e14a12d7c55d2ea0a6
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Check out pinned openclaw-scheduler
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
repository: amittell/openclaw-scheduler
ref: b6dd91180244b39e0c3c93e14a12d7c55d2ea0a6
path: openclaw-scheduler
- name: Configure scheduler fixture path
run: echo "SCHEDULER_PATH=$RUNNER_TEMP/openclaw-scheduler" >> "$GITHUB_ENV"
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ matrix.node-version }}
cache: npm
cache-dependency-path: |
package-lock.json
openclaw-scheduler/package-lock.json
- name: Move scheduler fixture outside the agentcli source tree
run: mv openclaw-scheduler "$SCHEDULER_PATH"
- run: npm ci
- name: Install and verify pinned scheduler runtime
run: |
cd "$SCHEDULER_PATH"
test "$(git rev-parse HEAD)" = "$OPENCLAW_SCHEDULER_REF"
npm ci
node bin/openclaw-scheduler.js --json capabilities > /dev/null
- run: npm run lint
- run: npm test
- name: Verify shared handoff v4 fixture parity
run: cmp fixtures/handoff-v4/conformance.json "$SCHEDULER_PATH/fixtures/handoff-v4/conformance.json"
- run: npm run verify:package
lint-test:
name: lint-test
needs: test-matrix
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Require every Node matrix job to pass
env:
MATRIX_RESULT: ${{ needs.test-matrix.result }}
run: test "$MATRIX_RESULT" = success