diff --git a/.github/workflows/release-dev.yml b/.github/workflows/release-dev.yml new file mode 100644 index 0000000..9cede7d --- /dev/null +++ b/.github/workflows/release-dev.yml @@ -0,0 +1,66 @@ +name: Release DEV version + +on: + workflow_dispatch: + inputs: + version: + type: choice + description: Version + options: + - prerelease +jobs: + release: + runs-on: ubuntu-latest + permissions: + contents: write + packages: write + actions: write + steps: + - name: Checkout + uses: actions/checkout@v4 + # Needed to make possible changelog generation only from latest tag + with: + fetch-depth: 0 + fetch-tags: true + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: pnpm + + - name: Install Dev Dependencies + run: pnpm install -D + + - name: Bump package.json version + id: version + run: | + echo "OLD_VERSION=$(pnpm pkg get version | tr -d '"')" >> "$GITHUB_OUTPUT" + pnpm version ${{ github.event.inputs.version }} --preid rc --git-tag-version=false + echo "NEW_VERSION=$(pnpm pkg get version | tr -d '"')" >> "$GITHUB_OUTPUT" + + - name: Generate changelog + run: pnpm changelog:generate -t v${{ steps.version.outputs.OLD_VERSION }} || pnpm changelog:generate + + - name: Create github release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git config --global user.email ci_cd_bot@1inch.io + git config --global user.name "CI/CD Bot" + git add package.json + git commit -m "version v${{ steps.version.outputs.NEW_VERSION }}" + git tag v${{ steps.version.outputs.NEW_VERSION }} + git push + git push --tags + gh release create v${{ steps.version.outputs.NEW_VERSION }} --notes-file CHANGELOG.md + + - name: Trigger publish + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: gh workflow run publish.yml -r v${{ steps.version.outputs.NEW_VERSION }}