chore(release): 0.12.0 #13
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| concurrency: | |
| group: publish | |
| cancel-in-progress: false | |
| jobs: | |
| publish: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write # for OIDC trusted publishing and npm provenance | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-node@v5 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| registry-url: https://registry.npmjs.org | |
| # Trusted publishing requires npm CLI >=11.5.1, newer than what Node 22 bundles | |
| - run: npm install -g npm@latest | |
| - run: npm ci | |
| # Run the full CI suite before publishing | |
| - run: npm run lint | |
| - run: npm run format:check | |
| - run: npm run test | |
| - run: npm run type-check | |
| - run: npm run build | |
| # Only the packages actually bumped for this release get published — see CLAUDE.md's | |
| # "Release process": core/react/vue/vanilla share one version-number pool but a release | |
| # only bumps the ones that changed, so an unpublished-bump-free package here is expected, | |
| # not an error. @vates/data-table-solid started its own independent version count at 0.1.0 | |
| # when it was split out of vanilla, until a future release folds it into the shared pool. | |
| # `npm publish` itself refuses to republish a version already on the registry, so skip | |
| # ahead of time rather than letting that fail the whole job. | |
| - name: Publish changed packages | |
| run: | | |
| for pkg in core react vue solid vanilla; do | |
| name=$(node -p "require('./packages/$pkg/package.json').name") | |
| version=$(node -p "require('./packages/$pkg/package.json').version") | |
| if npm view "$name@$version" version >/dev/null 2>&1; then | |
| echo "$name@$version already published, skipping" | |
| else | |
| echo "Publishing $name@$version" | |
| npm publish -w "packages/$pkg" --provenance --access public | |
| fi | |
| done |