memgraph/release
Matej Ferencevic 02d3a04ffa Add Marvel Comic Universe tutorial data
Reviewers: buda, jseljan

Reviewed By: jseljan

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D2783
2020-07-01 10:41:47 +02:00
..
arch-pkg Implement audit logging 2019-02-19 15:11:30 +01:00
debian Update enterprise license 2020-05-27 19:13:30 +02:00
docker Add NetworkX to Dockerfiles 2020-04-04 15:41:59 +02:00
examples Add Marvel Comic Universe tutorial data 2020-07-01 10:41:47 +02:00
rpm Fix CMake RPM typo and specify all package config files 2020-04-06 19:12:30 +02:00
CMakeLists.txt Update enterprise license 2020-05-27 19:13:30 +02:00
get_version.py Fix RPM packaging 2020-04-06 16:01:48 +02:00
LICENSE_COMMUNITY.md Update community license to match the enterprise trial license 2020-02-17 14:57:14 +01:00
LICENSE_ENTERPRISE.md Update enterprise license 2020-05-27 19:13:30 +02:00
logrotate_audit.conf Implement audit logging 2019-02-19 15:11:30 +01:00
logrotate.conf Add maintainer scripts for DEB package 2017-11-22 16:41:25 +01:00
memgraph.service Install memgraph in subdirectory of lib 2017-12-21 16:53:55 +01:00
README.md Implement version names for each Memgraph version 2020-02-12 10:05:40 +01:00

Memgraph Release Packaging

Various tools and packaging configuration files should be put under this directory. Common files for all packages can be kept in the root of this directory, for example memgraph.service. If the common stuff should be grouped, it should be in a subdirectory. examples directory is one such case. Packaging specific stuff must have its own directory.

Currently we support distributing Memgraph binary through the following packages.

  • Debian package
  • RPM package
  • Docker image
  • ArchLinux package

Release process

While releasing an official version of Memgraph, there are two possible scenarios:

  • First release in new major.minor series
  • Patch release in existing major.minor series

To release a new major.minor release of Memgraph you should execute the following steps:

  1. Land all diffs that must be in the new release
  2. Document all changes in CHANGELOG.md and land them
  3. From the master branch, create a branch named release/X.Y and push it to origin
  4. Create the release packages triggering a mg-master-release-branch-test using branch release/X.Y on Apollo
  5. Enjoy

To release a new patch release in an existing major.minor series you should execute the following steps:

  1. Checkout to the release/X.Y branch
  2. Cherry-pick all landed commits that should be included in the patch version
  3. Document all changes in CHANGELOG.md and commit them
  4. Edit the root CMakeLists.txt and set MEMGRAPH_OVERRIDE_VERSION to X.Y.patch and commit the change
  5. Create the release packages triggering a mg-master-release-branch-test using branch release/X.Y on Apollo
  6. Enjoy