memgraph/release
Marko Budiselić 291158160d Put all logrotate config to a file per offering (#23)
Not having one logrotate file produced an error during rpmlint.  It makes sense
to have one logrotate file after Memgraph is installed because it's easier to
manage config files. There are two logrotate files in the codebase, one for
Community and one for Enterprise edition. Having rotate files per offering also
makes sense because offerings are affected less often compared to the features.
It's easier to maintain.
2020-10-17 20:10:55 +02:00
..
arch-pkg Put all logrotate config to a file per offering (#23) 2020-10-17 20:10:55 +02:00
debian Put all logrotate config to a file per offering (#23) 2020-10-17 20:10:55 +02:00
docker Improve NetworkX module import (#21) 2020-10-15 09:14:50 +02:00
examples Add datasets for music and StellarGraph tutorial (#22) 2020-10-15 11:41:45 +02:00
rpm Put all logrotate config to a file per offering (#23) 2020-10-17 20:10:55 +02:00
CMakeLists.txt Put all logrotate config to a file per offering (#23) 2020-10-17 20:10:55 +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_community.conf Put all logrotate config to a file per offering (#23) 2020-10-17 20:10:55 +02:00
logrotate_enterprise.conf Put all logrotate config to a file per offering (#23) 2020-10-17 20:10:55 +02: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