feat: define scheduler handoff v4 artifact #92
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |