Publishing a Release
note
The items under Pre-release testing and Post-release activities still need to be automated.
Pre-release testing
Starter testing
Test new release with current version of all starters in gitlab:adpt/starters.
The
hello-react-node-postgresstarter is fairly well tested by the getting started doc testing.The
hello-nodestarter is fairly well tested by the tutorial doc testing.So for remaining starters:
adapt new <starter> ./testcd ./test/deployadapt run- Check results
Build, test, and publish
important
Make sure you are logged into GitLab before clicking any of the links below.
(They give 404 errors if you're not logged in.)
next Release (master branch)
This will create a public release of the master branch and give it the NPM dist-tag of next.
Major or Minor Release (master branch)
This will create a public release of the master branch and give it the NPM dist-tag of latest.
Patch Release (release branch)
warning
Right now, there's no way to specify that these releases do not get the dist-tag of latest.
So if you're publishing a patch release from an older release, you'll need to either fix that or adjust the dist-tags manually afterward.
note
Release branch names only contain the major and minor version numbers.
Go to the Run Pipeline page for Adapt.
Select the release branch for the correct release (
release-X.Y)Double check that the environment variable
ADAPT_RELEASE_TYPEis set topatch.Click
Run Pipeline.
Development Release (from any other branch)
important
Please only create a development release when absolutely necessary.
Go to the Run Pipeline page for Adapt.
Select the development branch you wish to publish.
Double check that the environment variable
ADAPT_RELEASE_TYPEis set todev.Click
Run Pipeline.
Post-release activities
Add the version for upgrade check
This step is manual because you first need to decide two things:
Does this release contain any security fixes? If it does, add the
--securityFixesflag to theupgrade_json.jscommand line below. If not, do not add the option.A short description for the content of the release. This should typically be a single line, less than about 50 characters. The description can be omitted by not using the
--descoption toupgrade_json.js.
note
Set REL_VER to the version that you just built.
REL_VER=1.1.1
Option 1: Minimum required information
scripts/upgrade_json.js add --current ${REL_VER}
Option 2: With description
DESC="A short summary for this release"
scripts/upgrade_json.js add --current --desc "${DESC}" ${REL_VER}
Option 3: With description and contains security fixes
DESC="A short summary for this release"
scripts/upgrade_json.js add --current --desc "${DESC}" --securityFixes ${REL_VER}
Version documentation
For major, minor, and patch releases, you'll need to create a new version of the docs:
First, ensure you have no uncommitted files in either
adaptoradapt-webFrom the
adaptrepo:git status pushd web/website git status popdUpdate and build both the
adaptandadapt-webreposnote
Set
REL_VERto the version that you just built.From the
adaptrepo:REL_VER=1.1.1 pushd web/website git checkout master git pull --ff-only popd git fetch origin git checkout v${REL_VER} make web-buildCreate the new version in
adapt-webFrom the
adaptrepo:cd web/website yarn run version ${REL_VER}Confirm default version is correct
The most recently created doc version will be listed first in
adapt/web/website/versions.jsonand will therefore be the default documentation version for the site. Typically, the most recent stable version should be the default. If necessary, change the ordering inversions.jsonto put the correct default version first.Start the preview server
cd .. make previewReview site
Particularly check http://localhost:3000/versions. Edit
web/website/pages/en/versions.jsas needed.Commit and push
From
adapt/web:git add . git commit -m "Creating versioned docs for ${REL_VER}" git push origin