5050 - " pyproject.toml"
5151 - " scripts/verify-versions.py"
5252 - " scripts/version-sync.py"
53+ - " scripts/build_npm_release_assets.mjs"
54+ - " scripts/verify_npm_release_assets.mjs"
5355 - " Cargo.toml"
5456 - " Cargo.lock"
5557 workflow_dispatch :
@@ -187,20 +189,7 @@ jobs:
187189
188190 - name : Build npm release packages
189191 run : |
190- mkdir -p release-assets
191-
192- cd sdk/typescript
193- npm install
194- npm run build
195- npm version ${{ needs.detect-version.outputs.npm_version }} --no-git-tag-version --allow-same-version
196- npm pack --pack-destination ../../release-assets
197-
198- cd ../../plugins/openclaw
199- npm install ../../release-assets/headroom-ai-${{ needs.detect-version.outputs.npm_version }}.tgz
200- npm install
201- npm run build
202- npm version ${{ needs.detect-version.outputs.npm_version }} --no-git-tag-version --allow-same-version
203- npm pack --pack-destination ../../release-assets
192+ node scripts/build_npm_release_assets.mjs "${{ needs.detect-version.outputs.npm_version }}" release-assets
204193
205194 - name : Upload release assets artifact
206195 uses : actions/upload-artifact@v7
@@ -833,10 +822,11 @@ jobs:
833822 env :
834823 NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
835824 run : |
825+ version="${{ needs.detect-version.outputs.npm_version }}"
836826 cd sdk/typescript
837- npm install
827+ npm ci
838828 npm run build
839- npm version ${{ needs.detect- version.outputs.npm_version }} --no-git-tag-version --allow-same-version
829+ npm version "$ version" --no-git-tag-version --allow-same-version
840830 npm publish --access public
841831 continue-on-error : true
842832
@@ -845,10 +835,19 @@ jobs:
845835 env :
846836 NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
847837 run : |
838+ version="${{ needs.detect-version.outputs.npm_version }}"
848839 cd plugins/openclaw
849- npm install
840+ npm ci
850841 npm run build
851- npm version ${{ needs.detect-version.outputs.npm_version }} --no-git-tag-version --allow-same-version
842+ npm version "$version" --no-git-tag-version --allow-same-version
843+ HEADROOM_NPM_VERSION="$version" node <<'EOF'
844+ const fs = require("fs");
845+ const pkg = JSON.parse(fs.readFileSync("package.json", "utf8"));
846+ pkg.dependencies = pkg.dependencies || {};
847+ pkg.dependencies["headroom-ai"] = `^${process.env.HEADROOM_NPM_VERSION}`;
848+ fs.writeFileSync("package.json", `${JSON.stringify(pkg, null, 2)}\n`);
849+ EOF
850+ node prepare-dist.mjs
852851 npm publish --access public
853852 continue-on-error : true
854853
0 commit comments