diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..864b92e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,59 @@ +name: Package Release + +on: + push: + branches: + - main + +jobs: + npm-package: + name: Build and push npm package + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout the repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v0 + with: + versionSpec: 5.x + + - name: Calculate the build version + id: gitversion + uses: gittools/actions/gitversion/execute@v0 + with: + useConfigFile: true + + - name: Install and configure Node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + registry-url: 'https://registry.npmjs.org' + + - name: Install pnpm + uses: pnpm/action-setup@v3 + with: + version: 8 + run_install: true + + - name: Increment package version + run: | + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" + npm version ${{ steps.gitversion.outputs.semver }} -m "chore: Bump package version" + git push + + - name: Build + run: pnpm build + + - name: Package + run: pnpm package + + - name: Publish + run: npm publish --dry-run --provenance --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}