Skip to content

build(sdk): automate README sync to prevent npm/repo drift (0.11.2) #37

build(sdk): automate README sync to prevent npm/repo drift (0.11.2)

build(sdk): automate README sync to prevent npm/repo drift (0.11.2) #37

Workflow file for this run

name: Publish
on:
push:
tags: ['v*']
permissions:
contents: read
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
registry-url: https://registry.npmjs.org
- run: npm ci
- name: Verify tag matches governance-sdk version
run: |
TAG="${GITHUB_REF_NAME#v}"
PKG_VERSION=$(node -p "require('./packages/governance/package.json').version")
if [ "$TAG" != "$PKG_VERSION" ]; then
echo "::error::Tag v$TAG does not match packages/governance/package.json version $PKG_VERSION"
exit 1
fi
echo "✓ Tag v$TAG matches governance-sdk version $PKG_VERSION"
- run: npm run build
- run: npm test
- name: Publish packages (skip already-published versions)
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
for pkg in governance governance-platform; do
PKG_NAME=$(node -p "require('./packages/$pkg/package.json').name")
PKG_VERSION=$(node -p "require('./packages/$pkg/package.json').version")
if npm view "$PKG_NAME@$PKG_VERSION" version 2>/dev/null; then
echo "⏭ $PKG_NAME@$PKG_VERSION already published, skipping"
else
echo "📦 Publishing $PKG_NAME@$PKG_VERSION"
npm publish -w "packages/$pkg" --access public
fi
done