name: Build and Release on: push: branches: - "**" permissions: contents: write jobs: build-release: if: contains(github.event.head_commit.message, '#release') runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 cache: npm - name: Install dependencies run: npm ci - name: Build distributables run: npm run dist - name: Read package version id: pkg run: | $version = node -p "require('./package.json').version" "version=$version" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append - name: Create GitHub release uses: softprops/action-gh-release@v2 with: tag_name: v${{ steps.pkg.outputs.version }} generate_release_notes: true