Skip to content
This repository was archived by the owner on Sep 8, 2021. It is now read-only.

Release 3.0.0#27

Merged
thinkh merged 30 commits intomasterfrom
release-3.0.0
Jan 13, 2020
Merged

Release 3.0.0#27
thinkh merged 30 commits intomasterfrom
release-3.0.0

Conversation

@thinkh
Copy link
Contributor

@thinkh thinkh commented Jan 13, 2020

Release notes

Checklists

Release preparation

  • Create new release-x.x.x branch (based on develop branch)
  • Collect changes and write release notes
  • 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")
  • Replace git dependencies in requirements.txt with new version range (e.g., phovea_server>=2.3.0,<3.0.0)
  • Commit and push new dependencies
  • Wait until build is successful
  • Repeat with other repositories/dependencies or proceed with next section

Update version

  • Check version numbers of dependencies again
  • Check if build is successful
  • Update this version number following semver
  • Commit and push package.json with new version number
  • Wait until build is successful
  • Assign reviewer and wait for final review
  • Merge this pull request into master branch
  • Add release label (i.e., release: major, release: minor, or release: 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 container
  • cd /phovea
  • sudo pip install -r requirements.txt && sudo pip install -r requirements_dev.txt && sudo pip install twine
  • npm run dist:python
  • Ensure only two files are in the dist directory (*.whl and *.tar.gz)
  • Ensure that both files contain the new version number
  • twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
  • Login with caleydo-bot
  • Check release on pipy.org
  • Delete dist directory
  • Delete build directory

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 container
  • cd /phovea
  • npm install
  • npm run build:web to build the bundles
  • npm login as caleydo-bot
  • npm publish
  • Check release on npmjs.com

Create GitHub release

  • Draft a new release (Code -> Releases -> Draft a new release)
  • Use new version number as tag (e.g., v2.3.1)
  • Copy release notes
  • Publish release

Prepeare next develop release

  • Switch to develop branch
  • Merge master branch into develop (git merge origin/master)
  • Update version in package.json to <next patch version>-SNAPSHOT (e.g., 2.3.1 to 2.3.2-SNAPSHOT)
  • Revert dependencies in package.json to develop branches (e.g., "phovea_core": "github:phovea/phovea_core#develop")
  • Revert dependencies in requirements.txt to develop branches (e.g., -e git+https://github.com/phovea/phovea_server.git@develop#egg=phovea_server)
  • Commit and push changes

🏁 Finish line

  • Inform colleagues and customers about the release
  • Celebrate the new release 🥳

thinkh and others added 25 commits August 27, 2019 22:07
changes for release-2.2.0 (develop)
Update node-sass to ^4.12.0
Closes #18

- Update docker base images from `caleydo/phovea_python:v1.0` to `caleydo/phovea_python:v1.1`
- Update CircleCI config
- Update dev dependencies
- Update buildPython.js
 Add TS compiler flags for i18n to tsconfig.json
Remove and ignore package-lock.json
@thinkh thinkh requested a review from a user January 13, 2020 10:34
@thinkh thinkh assigned ghost Jan 13, 2020
cannot be higher due to compatiblity issues
with currently used redis version
@thinkh thinkh requested review from a user and dvvanessastoiber and removed request for a user January 13, 2020 12:42
@dvvanessastoiber dvvanessastoiber self-requested a review January 13, 2020 13:08
@thinkh thinkh merged commit 7753ecf into master Jan 13, 2020
@thinkh thinkh deleted the release-3.0.0 branch January 13, 2020 13:09
@thinkh thinkh mentioned this pull request Jan 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants