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

Release 4.0.0 #164

Merged
32 commits merged into from
Jan 10, 2020
Merged

Release 4.0.0 #164

32 commits merged into from
Jan 10, 2020

Conversation

thinkh
Copy link
Contributor

@thinkh thinkh commented Jan 10, 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

Publish pip release

The steps of this section are only necessary if the code is public and should be published to the pypi registry.

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

  • 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
  • Update version in package.json and package-lock.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 September 10, 2019 07:32
- in /.circleci/config.yml and gitlab-ci.yml
- set environment variable NODE_VERSION for this Docker
Image
done in .travis.yml and tox.ini
instead of `string.lowercase`
and remove environment variable (no frontend-only repo)
Migrate to Python 3.7
Remove and ignore package-lock.json
@thinkh thinkh added the release: major PR merge results in a new major version label Jan 10, 2020
@thinkh thinkh requested a review from a user January 10, 2020 15:32
@thinkh thinkh assigned ghost Jan 10, 2020
@ghost ghost merged commit 8610ce6 into master Jan 10, 2020
@ghost ghost deleted the release-4.0.0 branch January 10, 2020 15:37
This pull request was closed.
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