diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..dca3184 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +name: release + +on: + pull_request: + paths-ignore: + - 'docs/**' + - '.clang-format' + - '.gitignore' + - 'README.md' + workflow_dispatch: + inputs: + release_type: + type: choice + description: Release type + options: + - major + - minor + - patch + default: patch + +jobs: + release: + runs-on: [ ubuntu-22.04 ] + environment: prod + + steps: + - name: Checking out branch + uses: actions/checkout@v3 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.ref }} + + - name: Setup Node.js environment + uses: actions/setup-node@v3.6.0 + + - name: Set git user + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'bot@nil.foundation' + + - name: Update version in package.json + npm version patch -m "${{ inputs.release_type }} release %s" + + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ github.ref }} + tags: true \ No newline at end of file