[ ] Draft release PR in GitHub that merges the release-x.x.x into the master branch
Release dependencies first
In case of dependent Phovea/TDP repositories follow dependency tree from the top:
[ ] Release dependent repositories if they contain changes first before proceeding here
[ ] Replace git dependencies in package.json with new version range (e.g., "phovea_core": "^2.3.1" when published on npm or"phovea_core": "github:datavisyn/tdp_core#semver:^8.0.0" for non-published repositories)
[ ] Replace git dependencies in requirements.txt with new version range (e.g., phovea_server>=2.3.0,<3.0.0 when published on pipy or-e git+https://github.com/datavisyn/tdp_core.git@v8.0.0#egg=tdp_core for non-published repositories)
[ ] Commit and push new dependencies
[ ] Wait until build is successful
[ ] Repeat with other repositories/dependencies or proceed with next section
Release notes
buildId
toJSON.stringify(buildId)
https://github.com/phovea/phovea_clue/pull/182Checklists
Release preparation
release-x.x.x
branch (based ondevelop
branch)release-x.x.x
into themaster
branchRelease dependencies first
In case of dependent Phovea/TDP repositories follow dependency tree from the top:
"phovea_core": "^2.3.1"
when published on npm or"phovea_core": "github:datavisyn/tdp_core#semver:^8.0.0"
for non-published repositories)phovea_server>=2.3.0,<3.0.0
when published on pipy or-e git+https://github.com/datavisyn/tdp_core.git@v8.0.0#egg=tdp_core
for non-published repositories)Update version
release: major
,release: minor
, orrelease: patch
)Publish pip release
The steps of this section are only necessary if the code is public and should be published to the pypi registry.
chmod -R o+w .
in the cloned repository directory (to provide write access to the CircleCI Linux user)rm -rf dist && rm -rf build
docker run -it -v $(pwd):/phovea circleci/python:3.7-buster-node-browsers /bin/bash
and continue inside the containercd /phovea
sudo pip install -r requirements.txt && sudo pip install -r requirements_dev.txt && sudo pip install twine
npm run dist:python
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
caleydo-bot
Publish npm release
The steps of this section are only necessary if the code is public and should be published to the npm registry.
chmod -R o+w .
in the cloned repository directory (to provide write access to the CircleCI Linux user)rm -rf dist && rm -rf build && rm -rf node_modules/ && rm -rf package-lock.json
docker run -it -v $(pwd):/phovea circleci/node:12.13-buster-browsers /bin/bash
and continue inside the containercd /phovea
npm install
npm run build:web
to build the bundlesnpm login
as caleydo-botnpm publish
Create GitHub release
v2.3.1
)Prepeare next develop release
develop
branchmaster
branch intodevelop
(git merge origin/master
)<next patch version>-SNAPSHOT
(e.g.,2.3.1
to2.3.2-SNAPSHOT
)"phovea_core": "github:phovea/phovea_core#develop"
)-e git+https://github.com/phovea/phovea_server.git@develop#egg=phovea_server
)🏁 Finish line