[x] Run all e2e tests on release branch (Pro tip: run mobile, regression, smoke scripts in parallel to get all the results faster, after that retry failed tests in open mode)
[x] Build app on this branch using installation script; prepare the scripts/install/config.sh file as below:
If backend version is lower than 2005 add this as well to the above config:
OCC_PREFIX="/rest/v2/"
Finally, run the script:
cd scripts/install && ./run.sh install
Once finished, run ./run.sh start to start the apps and check are they work fine. You can also go to each app directory and run it with yarn build, start, build:ssr etc.
[x] make are sure that release branch is working correctly, everything is passing and it builds.
[x] Cleanup repo, build and generate compodocs and publish on github pages, generate spartacussampleaddon archives (./scripts/pre-release.sh)
[x] Merge next branches into latest branches for each version (1905, 2005) (only if there are differences/changes among them).
[x] If branches were merged, tag the merge commit with the version of the release as a reference (e.g. `2.0.0-next.3)
[x] Before you release libraries fetch all git tags from github with git fetch origin --tags (required to generate release notes)
[x] Release libraries with release-it scripts
Make sure your GITHUB_TOKEN env variable is set
Check if you are logged into npm with npm whoami
If you are not logged in, then login with npm login
For each package select/type version when prompted:
[x] npm run release:core:with-changelog
[x] npm run release:lib:with-changelog
[x] npm run release:cds:with-changelog
[x] npm run release:assets:with-changelog
[x] npm run release:styles:with-changelog
[x] npm run release:schematics:with-changelog
[x] npm run release:cdc:with-changelog (since 2.1.0-next.0 - publish under 0.<packages-version>.0 eg. 0.201.0-next.0 for first 2.1.0-next.0 release)
[x] before the script set the spartacus peerDependencies manually (as we publish it under 0.201.0-next.0 version)
[x] Check that the release notes are populated on github (if they are not, update them)
[x] Check tags on npm.
next tag should always reference the last non-stable version
latest tag should always point to the last stable version
You can leave rc tag until we release stable release.
Use npm dist-tag command for tag updates.
[x] Test the released libraries from a new shell app; change the scripts/install/config.sh to test npm tag (next/latest/rc) at the same time:
SPARTACUS_VERSION=`next` # or `latest`, `rc`; still, you can set it to a specific one, ie `3.0.0-next.1` (or leave the config file unchanged)
Run the installation script:
cd scripts/install && run.sh install_npm
[x] merge release branch (PR from release/3.0.0-next.1) to develop branch
[x] inform PO about libraries successfully released
[x] Validate that all merged tickets were tested (QA column must be empty, except for tickets marked as
not-blocking-release
)[x] Create release branch
release/3.0.0-next.1
from the corresponding branch (develop)[x] Bump versions for schematics migration
[x] Run all e2e tests on release branch (Pro tip: run mobile, regression, smoke scripts in parallel to get all the results faster, after that retry failed tests in open mode)
[x] Build app on this branch using installation script; prepare the
scripts/install/config.sh
file as below:If backend version is lower than 2005 add this as well to the above config:
Finally, run the script:
Once finished, run
./run.sh start
to start the apps and check are they work fine. You can also go to each app directory and run it with yarn build, start, build:ssr etc.[x] make are sure that release branch is working correctly, everything is passing and it builds.
./scripts/pre-release.sh
)git fetch origin --tags
(required to generate release notes)npm whoami
npm login
npm run release:core:with-changelog
npm run release:lib:with-changelog
npm run release:cds:with-changelog
npm run release:assets:with-changelog
npm run release:styles:with-changelog
npm run release:schematics:with-changelog
npm run release:cdc:with-changelog
(since 2.1.0-next.0 - publish under0.<packages-version>.0
eg.0.201.0-next.0
for first2.1.0-next.0
release)next
tag should always reference the last non-stable versionlatest
tag should always point to the last stable versionrc
tag until we release stable release.npm dist-tag
command for tag updates.scripts/install/config.sh
to test npm tag (next/latest/rc) at the same time:Run the installation script: