Skip to content

Release

Release #533

Workflow file for this run

name: Release
on:
push:
branches:
- main
jobs:
release:
name: Release
outputs:
has_changesets: ${{ steps.changesets.outputs.hasChangesets }}
has_unpublished_packages: ${{ steps.unpublished.outputs.has_unpublished }}
permissions:
contents: write
issues: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install pnpm
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
with:
version: 11.3.0
- name: Install Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
package-manager-cache: false
node-version: 24
registry-url: "https://registry.npmjs.org"
- name: Update npm
run: npm install -g npm@11.15.0
- name: Check for unpublished package versions
id: unpublished
run: node .github/scripts/has-unpublished-packages.mjs
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Create Release Pull Request
id: changesets
uses: changesets/action@a45c4d594aa4e2c509dc14a9f2b3b67ba3780d0d # v1.9.0
with:
version: pnpm run version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
publish:
name: Publish
needs: release
if: needs.release.outputs.has_changesets == 'false' && needs.release.outputs.has_unpublished_packages == 'true'
runs-on: ubuntu-latest
environment:
name: npm
url: https://www.npmjs.com/org/preact
permissions:
contents: write
id-token: write
issues: read
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install pnpm
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
with:
version: 11.3.0
- name: Install Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
package-manager-cache: false
node-version: 24
registry-url: "https://registry.npmjs.org"
- name: Update npm
run: npm install -g npm@11.15.0
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Publish packages
uses: changesets/action@a45c4d594aa4e2c509dc14a9f2b3b67ba3780d0d # v1.9.0
with:
publish: node .github/scripts/stage-packages.mjs
createGithubReleases: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}