Skip to content

chore: update kiro and opencode for workflows itself #293

chore: update kiro and opencode for workflows itself

chore: update kiro and opencode for workflows itself #293

Workflow file for this run

name: Release and Publish
on:
workflow_dispatch:
push:
branches: [main]
paths-ignore:
- '*.md'
- 'LICENSE'
- '.editorconfig'
- '.gitignore'
- 'renovate.json'
- '.github/**'
- '.husky/**'
- '.vscode/**'
- '.idea/**'
- '.vibe/**'
- '.claude/**'
- '.crowd/**'
- '.windsurf/**'
- '.amazonq/**'
- '.kiro/**'
- 'examples/**'
- 'packages/docs/**'
permissions:
contents: write
packages: write
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.32.1
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Install beads
run: npm install -g @beads/bd
- name: Install platform-specific dependencies
run: |
# Install platform dependencies for Linux (temporary, not saved to package.json)
pnpm add @oxlint/linux-x64-gnu --save-dev || echo "Failed to install oxlint platform dependency, continuing..."
- name: Check formatting
run: pnpm run format:check
- name: Run linting
run: pnpm run lint
- name: Build project
run: |
pnpm add @rollup/rollup-linux-x64-gnu --save-dev || echo "Failed to install Rollup platform dependency for visualizer"
pnpm run build
- name: Run tests
run: pnpm test
env:
INCLUDE_NOISY_TESTS: true
LOG_LEVEL: ERROR
release:
needs: test
runs-on: ubuntu-latest
steps:
- name: Generate GitHub App Token
id: generate_token
uses: tibdex/github-app-token@v2
with:
app_id: ${{ vars.VERSION_BUMPER_APPID }}
private_key: ${{ secrets.VERSION_BUMPER_SECRET }}
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
token: ${{ steps.generate_token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.32.1
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'pnpm'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: pnpm install
- name: Install beads
run: npm install -g @beads/bd
- name: Install platform-specific dependencies
run: |
# Install platform dependencies for Linux CI environment (temporary, not saved to package.json)
pnpm add @oxlint/linux-x64-gnu --save-dev || echo "Failed to install oxlint platform dependency"
- name: Build project
run: pnpm run build
- name: Bump version and create tag
id: version
uses: mathieudutour/github-tag-action@v6.2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
default_bump: patch
tag_prefix: v
- name: Update package.json version
if: steps.version.outputs.new_tag
run: |
NEW_VERSION=${{ steps.version.outputs.new_version }}
# Update root package.json
pnpm version $NEW_VERSION --no-git-tag-version
# Update all workspace package versions
pnpm -r exec pnpm version $NEW_VERSION --no-git-tag-version
# Ensure no platform-specific dependencies were accidentally saved
pnpm remove @rollup/rollup-linux-x64-gnu @oxlint/linux-x64-gnu 2>/dev/null || true
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add package.json packages/*/package.json pnpm-lock.yaml
git commit -m "chore: bump version to $NEW_VERSION [skip ci]" || exit 0
git push
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
- name: Create GitHub Release
if: steps.version.outputs.new_tag
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.version.outputs.new_tag }}
name: Release ${{ steps.version.outputs.new_tag }}
body: ${{ steps.version.outputs.changelog }}
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish to npm
if: steps.version.outputs.new_tag
run: |
# Publish only public packages (those without "private": true)
# Using pnpm publish with --filter to exclude private packages
pnpm --filter '@codemcp/workflows-server' publish --access public --no-git-checks
pnpm --filter '@codemcp/workflows' publish --access public --no-git-checks
pnpm --filter '@codemcp/workflows-opencode' publish --access public --no-git-checks
pnpm --filter '@codemcp/workflows-opencode-tui' publish --access public --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}