Document the dashboard auth-token paste flow in plugin README #7
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: | |
| jobs: | |
| # Fast "does the metadata parse" job that gates everything else. | |
| metadata: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Validate root package.json | |
| run: node -e "require('./package.json')" | |
| - name: Validate plugin package.json + openclaw.plugin.json | |
| run: | | |
| node -e "require('./packages/plugin/package.json')" | |
| node -e "require('./packages/plugin/openclaw.plugin.json')" | |
| - name: Validate client-js package.json | |
| run: node -e "require('./packages/client-js/package.json')" | |
| - name: Validate schema package.json | |
| run: node -e "require('./schema/package.json')" | |
| - name: Validate fixture JSON | |
| run: | | |
| set -e | |
| find fixtures -name '*.json' | while read f; do | |
| node -e "JSON.parse(require('fs').readFileSync('$f', 'utf8'))" | |
| done | |
| - name: Verify plugin name matches install.npmSpec | |
| working-directory: packages/plugin | |
| run: | | |
| node -e " | |
| const pkg = require('./package.json'); | |
| const spec = pkg.openclaw?.install?.npmSpec; | |
| if (spec !== pkg.name) { | |
| console.error('Mismatch: name=' + pkg.name + ' vs install.npmSpec=' + spec); | |
| process.exit(1); | |
| } | |
| " | |
| - name: Verify version alignment across packages | |
| run: node scripts/check-versions.mjs | |
| typescript: | |
| runs-on: ubuntu-latest | |
| needs: metadata | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: pnpm install | |
| run: pnpm install --frozen-lockfile | |
| - name: Build schema + client-js | |
| run: pnpm --filter ./schema --filter ./packages/client-js run --if-present build | |
| - name: Test client-js | |
| run: pnpm --filter ./packages/client-js test | |
| - name: Typecheck client-js | |
| run: pnpm --filter ./packages/client-js typecheck | |
| # Plugin typecheck has pre-existing drift against the pinned openclaw | |
| # version (see PR description). Skipped until that's sorted in a | |
| # follow-up; uncomment once the plugin is re-aligned with the openclaw | |
| # plugin-sdk it targets. | |
| # - name: Typecheck plugin | |
| # run: pnpm --filter ./packages/plugin typecheck | |
| kotlin: | |
| runs-on: ubuntu-latest | |
| needs: metadata | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: 17 | |
| - uses: gradle/actions/setup-gradle@v4 | |
| - name: Gradle build + test (:core, :android) | |
| working-directory: packages/client-kotlin | |
| run: gradle :core:build :core:test :android:build :android:test --no-daemon | |
| swift: | |
| runs-on: macos-latest | |
| needs: metadata | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: swift-actions/setup-swift@v2 | |
| with: | |
| swift-version: "5.10" | |
| - name: swift build | |
| working-directory: packages/client-swift | |
| run: swift build | |
| - name: swift test | |
| working-directory: packages/client-swift | |
| run: swift test |