From 41053fbb07f0d8129ffa6cc3856439747fdf67f1 Mon Sep 17 00:00:00 2001 From: Andrew Kogut Date: Wed, 4 Dec 2024 15:55:12 +0100 Subject: [PATCH] Bump version on release --- .github/workflows/release.yml | 12 ++++++++---- scripts/bump-version.js | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 scripts/bump-version.js diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 208dfac..fa78a56 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,13 +13,17 @@ jobs: registry-url: https://registry.npmjs.org/ - run: npm run bootstrap - run: npm run build + - run: node scripts/bump-version.js - run: | - TAG=$(echo $TAG | cut -c1-8) - gh release create "$TAG" \ + VERSION=$(node -p "require('./lerna.json').version") + gh release create "$VERSION" \ --repo="$GITHUB_REPOSITORY" \ - --title="${TAG#v}" \ + --title="${VERSION#v}" \ --generate-notes \ ./lib/*.zip + git config --global user.name 'Release' + git config --global user.email 'release@bot.com' + git commit -am "Bump version ($VERSION)" + git push env: - TAG: ${{ github.event.pull_request.head.sha || github.sha }} GH_TOKEN: ${{ github.token }} diff --git a/scripts/bump-version.js b/scripts/bump-version.js new file mode 100644 index 0000000..89a31c3 --- /dev/null +++ b/scripts/bump-version.js @@ -0,0 +1,22 @@ +const fs = require('fs'); +const lernaJson = require('../lerna.json'); +const mobxDevtools = require('../packages/mobx-devtools/package.json'); +const mobxDevtoolsMst = require('../packages/mobx-devtools-mst/package.json'); +const playground = require('../packages/playground/package.json'); + +const [vMajor, vMinor, vPatch] = lernaJson.version.split('.'); + +const newVersion = `${vMajor}.${vMinor}.${+vPatch + 1}`; + +lernaJson.version = newVersion; + +fs.writeFileSync('./lerna.json', JSON.stringify(lernaJson, null, 4), 'utf8'); + +[ + [mobxDevtools, './packages/mobx-devtools/package.json'], + [mobxDevtoolsMst, './packages/mobx-devtools-mst/package.json'], + [playground, './packages/playground/package.json'], +].forEach(([pkg, path]) => { + pkg.version = newVersion; + fs.writeFileSync(path, JSON.stringify(pkg, null, 4), 'utf8'); +});