diff --git a/.github/workflows/node.yml b/.github/workflows/ci.yml similarity index 100% rename from .github/workflows/node.yml rename to .github/workflows/ci.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..25307536 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +name: release + +on: + workflow_dispatch: + inputs: + semver: + description: "The semver to use" + required: true + default: "patch" + type: choice + options: + - auto + - patch + - minor + - major + - prerelease + - prepatch + - preminor + - premajor + pull_request: + types: [closed] + +jobs: + release: + runs-on: ubuntu-latest + permissions: + contents: write + issues: write + pull-requests: write + steps: + - name: Use Node.js 18 + uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install buf cli + uses: bufbuild/buf-setup-action@v1.9.0 + - run: buf --version + - uses: nearform-actions/optic-release-automation-action@v4 + with: + commit-message: "Release {version}" + sync-semver-tags: true + access: "public" + semver: ${{ github.event.inputs.semver }} + npm-tag: ${{ startsWith('pre', github.event.inputs.semver) && 'next' || 'latest' }} + # optional: set this secret in your repo config for publishing to NPM + # npm-token: ${{ secrets.NPM_TOKEN }} + build-command: | + npm install + npm run build