memgraph/release
Matej Ferencevic 974ce1e9e9 Fix Debian package installation
Summary: `chattr` must be after `chown`.

Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D2748
2020-04-02 19:46:28 +02:00
..
arch-pkg Implement audit logging 2019-02-19 15:11:30 +01:00
debian Fix Debian package installation 2020-04-02 19:46:28 +02:00
docker Update release docker 2020-03-18 17:50:20 +01:00
examples Clean-up packaged examples 2020-04-02 19:45:32 +02:00
rpm Fix ownership of examples in packages 2020-03-13 19:27:16 +01:00
CMakeLists.txt Install and setup loading Python Query Modules 2020-03-11 10:24:53 +01:00
get_version.py Implement version names for each Memgraph version 2020-02-12 10:05:40 +01:00
LICENSE_COMMUNITY.md Update community license to match the enterprise trial license 2020-02-17 14:57:14 +01:00
LICENSE_ENTERPRISE_TRIAL.md Implement MG_ENTERPRISE CMake flag 2020-02-06 13:39:30 +01: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