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