Repository navigation
Prepare independent runtime candidates and document acceptance gates #4
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 Release | ||
|
Check failure on line 1 in .github/workflows/workbuddy-plugin-release.yml
|
||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| prerelease: | ||
| description: Publish for public testing (stable requires real-device acceptance) | ||
| type: boolean | ||
| default: true | ||
| push: | ||
| tags: | ||
| - 'opengui-workbuddy-v*' | ||
| permissions: | ||
| contents: write | ||
| concurrency: | ||
| group: workbuddy-release-${{ github.ref }} | ||
| cancel-in-progress: false | ||
| jobs: | ||
| release: | ||
| runs-on: macos-latest | ||
| timeout-minutes: 20 | ||
| env: | ||
| OPENGUI_PRERELEASE: ${{ github.event_name == 'push' || inputs.prerelease }} | ||
| defaults: | ||
| run: | ||
| working-directory: ${{ runner.temp }}/opengui-build/workbuddy-plugin | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
| - 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 | ||
| - name: Require main ancestry | ||
| working-directory: ${{ github.workspace }} | ||
| run: git merge-base --is-ancestor HEAD origin/main | ||
| - run: npm ci | ||
| - run: npm run pack:release | ||
| - run: npm run smoke:packed | ||
| - name: Require real WorkBuddy acceptance for stable publication | ||
| if: env.OPENGUI_PRERELEASE != 'true' | ||
| run: node scripts/validate.mjs --release | ||
| - name: Publish immutable WorkBuddy assets | ||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
| GH_REPO: ${{ github.repository }} | ||
| run: node scripts/publish.mjs | ||