From d8c119d860e607a65d23708f38dad05ff1c8f722 Mon Sep 17 00:00:00 2001 From: Nick K Date: Tue, 24 Oct 2023 01:57:48 +0300 Subject: [PATCH] Add release workflow and release script in package.json --- .github/workflows/release.yml | 58 +++++++++++++++++++++++++++++++++++ package.json | 3 +- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..0ac806e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,58 @@ +name: Release + +on: + push: + branches: + - main + +concurrency: ${{ github.workflow }}-${{ github.ref }} + +jobs: + release: + name: Release + runs-on: ubuntu-22.04 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Setup pnpm + id: pnpm-install + uses: pnpm/action-setup@v2 + with: + version: 8 + run_install: false + + - name: Get pnpm store directory + id: pnpm-cache + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT + + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{steps.pnpm-cache.outputs.STORE_PATH}} + key: ${{runner.os}}-pnpm-store-${{hashFiles('**/pnpm-lock.yaml')}} + restore-keys: | + ${{runner.os}}-pnpm-store- + + - name: Install dependencies + run: pnpm i --frozen-lockfile + + - name: Create a Pull Request for a new release + id: changesets + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + NPM_TOKEN: ${{secrets.NPM_TOKEN}} + uses: changesets/action@v1 + with: + title: A new release + commit: Bump version + publish: pnpm run release + version: pnpm exec changeset version diff --git a/package.json b/package.json index 020f9a2..4e70258 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "cleanup": "del-cli @type lib", "postinstall": "husky install", "prepublishOnly": "pnpm run cleanup && pnpm run build && pinst --disable", - "postpublish": "pinst --enable" + "postpublish": "pinst --enable", + "release": "pnpm build && pnpm changeset publish" }, "devDependencies": { "@changesets/changelog-github": "0.4.8",