zowe-actions / octorelease

Extensible GitHub action to publish semantic releases
Apache License 2.0
4 stars 0 forks source link

Fix lerna bumping too many package versions #142

Closed t1m0thyj closed 6 months ago

t1m0thyj commented 6 months ago

Fixes regression introduced in #121 - we need to specify --ignore-changes on the lerna version command.

Example of deployment workflow behaving incorrectly in the zowe/cics-for-zowe-client repo: https://github.com/zowe/cics-for-zowe-client/actions/runs/8947499191/job/24579578134

Even though lerna detected that only the VSCE had changed, it bumped the version number on all packages. This happens because the lerna version command has logic that assumes a major version bump on one package requires a version bump across all the rest.

How to Test

To test that CICS versioning works with the new command: should bump nothing because only VSCE changed which is versioned independently

git clone https://github.com/zowe/cics-for-zowe-client.git
cd cics-for-zowe-client
git checkout f5c29c60917e68c5a7780176a44b7b7be23566a2
npm ci
echo '{"version": "5.0.5", "useWorkspaces": true}' > lerna.json
npx lerna version 5.0.6 --exact --include-merged-tags --no-git-tag-version --yes --ignore-changes "packages/vsce/**"

To test that CLI versioning still works: should bump everything because Imperative changed which is depended on by all the other packages

git clone https://github.com/zowe/zowe-cli.git
cd zowe-cli
git checkout 62a9b14ba8b0522788d2977ab77414063d78cd71
npm ci
cat lerna.json
npx lerna version 7.18.11 --exact --include-merged-tags --no-git-tag-version --yes --ignore-changes "packages/imperative/**"