Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 10.0.0 #406

Merged
merged 337 commits into from
Jul 30, 2020
Merged

Release 10.0.0 #406

merged 337 commits into from
Jul 30, 2020

Conversation

thinkh
Copy link
Member

@thinkh thinkh commented Jul 30, 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" 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 🥳

Christian Lehner and others added 30 commits March 26, 2020 10:14
Added extension point to manage database migrations
…_fix

Avoid raising an exception in DBMigrationManager
regExp before turning it to  a string

#331
puehringer and others added 20 commits July 23, 2020 14:35
Changed CSS selector for main LineUp ranking
There is an alternative version of this file in the develop branch (with commit b9d40d0) that contains already some fixes. We copied it here now.

We do not understand yet how we got an alternative history for this file in the first place.
With the merge of the refactoring branches this code snippet got lost.
…lder-revisited

Re-add missing select2 placeholder of PR #382
@thinkh thinkh added the release: major PR merge results in a new major version label Jul 30, 2020
@thinkh thinkh requested a review from dvvanessastoiber July 30, 2020 14:44
@thinkh thinkh requested a review from lehnerchristian as a code owner July 30, 2020 14:44
@dg-datavisyn dg-datavisyn merged commit f284e08 into master Jul 30, 2020
@thinkh thinkh mentioned this pull request Jul 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release: major PR merge results in a new major version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants