diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..d4a3c8f --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,38 @@ +name: release + +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + +jobs: + release-please: + runs-on: ubuntu-latest + outputs: + release_created: ${{ steps.release.outputs.release_created }} + steps: + - uses: googleapis/release-please-action@v5 + id: release + with: + release-type: node + include-component-in-tag: false + + publish: + needs: release-please + if: ${{ needs.release-please.outputs.release_created == 'true' }} + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + node-version: 24 + registry-url: 'https://registry.npmjs.org' + - run: npm ci + - run: npm publish diff --git a/package.json b/package.json index f56317b..f332fa2 100644 --- a/package.json +++ b/package.json @@ -60,11 +60,8 @@ "coverage": "node --test --experimental-test-coverage --import=tsx --test-coverage-exclude='test/**' --test-coverage-lines=100 --test-coverage-branches=100 --test-coverage-functions=100 test/*.test.ts", "format": "biome check --write .", "lint": "biome check .", - "postrelease": "git push --follow-tags && npm publish", "prebuild": "rm -rf dist", "prepublishOnly": "npm run build", - "prerelease": "git fetch --tags && npm test && npm run test:pack", - "release": "npm version patch", "test": "npm run lint && npm run typecheck && npm run build && node --test --import=tsx test/*.test.ts", "test:pack": "bash scripts/test-pack.sh", "test:watch": "node --test --watch --import=tsx test/*.test.ts",