Skip to content
This repository has been archived by the owner on Nov 30, 2021. It is now read-only.

Release 6.0.0 #193

Merged
merged 81 commits into from
Jul 30, 2020
Merged

Release 6.0.0 #193

merged 81 commits into from
Jul 30, 2020

Conversation

dvvanessastoiber
Copy link
Contributor

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" 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

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
  • 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

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 🥳

dvvanessastoiber and others added 30 commits January 28, 2020 13:51
remove node modules from testing and use correct
 plugins for `pluginsToTransform`
Closes #189

* Typings of the `.find()` have been changed in PR DefinitelyTyped/DefinitelyTyped#44051
* Change typing from `HTMLElement` to `Element`
* `Element` does not contain the `dataset` property
* Fixed by manually typecasting all methods `.find<HTMLElement>()`
@dvvanessastoiber dvvanessastoiber added the release: major PR merge results in a new major version label Jul 30, 2020
@thinkh thinkh merged commit f3aaf03 into master Jul 30, 2020
@thinkh thinkh deleted the release-6.0.0 branch July 30, 2020 13:51
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
release: major PR merge results in a new major version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants