diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a5789850..66a6c70b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -62,7 +62,7 @@ jobs: - name: Smoke test — verify no workspace:* in tarballs run: | set -euo pipefail - for pkg in packages/core packages/cli; do + for pkg in packages/core packages/cli packages/studio; do echo "--- Checking $pkg ---" cd "$pkg" PACKDIR=$(mktemp -d) @@ -120,6 +120,12 @@ jobs: env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Publish Studio canary + working-directory: packages/studio + run: pnpm publish --tag canary --access public --no-git-checks + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Publish CLI canary working-directory: packages/cli run: pnpm publish --tag canary --access public --no-git-checks @@ -165,6 +171,12 @@ jobs: exit 1 fi + if grep -q '"workspace:' node_modules/@actalk/inkos-studio/package.json; then + echo "FATAL: canary studio package still contains workspace: protocol" + cat node_modules/@actalk/inkos-studio/package.json | grep workspace + exit 1 + fi + if grep -q '"workspace:' node_modules/@actalk/inkos-core/package.json; then echo "FATAL: canary core package still contains workspace: protocol" cat node_modules/@actalk/inkos-core/package.json | grep workspace @@ -172,6 +184,7 @@ jobs: fi npx inkos --version + test -f node_modules/@actalk/inkos-studio/dist/api/index.js echo "Canary verification passed" rm -rf "$TMPDIR" @@ -205,6 +218,12 @@ jobs: env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Publish Studio latest + working-directory: packages/studio + run: pnpm publish --access public --no-git-checks + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Publish CLI latest working-directory: packages/cli run: pnpm publish --access public --no-git-checks @@ -250,6 +269,12 @@ jobs: exit 1 fi + if grep -q '"workspace:' node_modules/@actalk/inkos-studio/package.json; then + echo "FATAL: released studio package still contains workspace: protocol" + cat node_modules/@actalk/inkos-studio/package.json | grep workspace + exit 1 + fi + if grep -q '"workspace:' node_modules/@actalk/inkos-core/package.json; then echo "FATAL: released core package still contains workspace: protocol" cat node_modules/@actalk/inkos-core/package.json | grep workspace @@ -257,6 +282,7 @@ jobs: fi npx inkos --version + test -f node_modules/@actalk/inkos-studio/dist/api/index.js echo "Release verification passed" rm -rf "$TMPDIR"