Repository navigation
DMY-59: establish Web-first phone workbench #53
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: WorkBuddy Plugin CI | |
| on: | |
| push: | |
| paths: | |
| - 'packages/device-runtime/**' | |
| - 'workbuddy-plugin/**' | |
| - '.github/workflows/workbuddy-plugin-*.yml' | |
| pull_request: | |
| paths: | |
| - 'packages/device-runtime/**' | |
| - 'workbuddy-plugin/**' | |
| - '.github/workflows/workbuddy-plugin-*.yml' | |
| permissions: | |
| contents: read | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| strategy: | |
| matrix: | |
| node: ['22.19.0', '24'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Export isolated adapter and shared core | |
| shell: bash | |
| working-directory: ${{ github.workspace }} | |
| run: node packages/device-runtime/build.mjs stage workbuddy "$RUNNER_TEMP/opengui-build" | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: npm | |
| cache-dependency-path: workbuddy-plugin/package-lock.json | |
| - run: npm ci | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| - run: npm run pack:release | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| - run: npm audit --omit=dev --audit-level=moderate | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| macos-package: | |
| runs-on: macos-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Export isolated adapter and shared core | |
| shell: bash | |
| working-directory: ${{ github.workspace }} | |
| run: node packages/device-runtime/build.mjs stage workbuddy "$RUNNER_TEMP/opengui-build" | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22.19.0' | |
| cache: npm | |
| cache-dependency-path: workbuddy-plugin/package-lock.json | |
| - run: npm ci | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| - run: npm run pack:release | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| - run: node scripts/test-publish.mjs | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| - run: node scripts/test-release-installer.mjs | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| - run: npm run test:native | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: workbuddy-candidate | |
| path: ${{ runner.temp }}/opengui-build/workbuddy-plugin/dist/* | |
| if-no-files-found: error | |
| packaged-startup: | |
| needs: [check, macos-package] | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Export isolated adapter and shared core | |
| shell: bash | |
| working-directory: ${{ github.workspace }} | |
| run: node packages/device-runtime/build.mjs stage workbuddy "$RUNNER_TEMP/opengui-build" | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22.19.0' | |
| cache: npm | |
| cache-dependency-path: workbuddy-plugin/package-lock.json | |
| - run: npm ci | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| - run: npm run check | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: workbuddy-candidate | |
| path: ${{ runner.temp }}/opengui-build/workbuddy-plugin/dist | |
| - run: npm run smoke:packed | |
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin |