Skip to content

Prepare independent runtime candidates and document acceptance gates #4

Prepare independent runtime candidates and document acceptance gates

Prepare independent runtime candidates and document acceptance gates #4

name: WorkBuddy Plugin Release

Check failure on line 1 in .github/workflows/workbuddy-plugin-release.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/workbuddy-plugin-release.yml

Invalid workflow file

(Line: 29, Col: 28): Unrecognized named-value: 'runner'. Located at position 1 within expression: runner.temp
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