diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f08d7f1 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,46 @@ +name: release + +on: + workflow_dispatch: + inputs: + semver: + description: 'The semver to use' + required: true + default: 'patch' + type: choice + options: + - patch + - minor + - major + pull_request: + types: [closed] + +jobs: + release: + runs-on: ubuntu-latest + permissions: + contents: write + issues: write + pull-requests: write + steps: + - name: Use Node.js 20 + uses: actions/setup-node@v3 + with: + node-version: 20 + - uses: nearform-actions/optic-release-automation-action@v4 + with: + commit-message: 'Release {version}' + sync-semver-tags: true + access: 'public' + # This prefix is added before the prerelease number, e.g. `v3.0.0-next.0` + prerelease-prefix: 'next' + semver: ${{ github.event.inputs.semver }} + # Prereleases are published under the `next` npm dist-tag + npm-tag: ${{ startsWith(github.event.inputs.semver, 'pre') && 'next' || 'latest' }} + # Don't notify linked issues + notify-linked-issues: false + # optional: set this secret in your repo config for publishing to NPM + npm-token: ${{ secrets.NPM_TOKEN }} + build-command: | + npm ci + npm run build