memgraph/release
Marko Budiselić 647388792a Add upload of Diff binaries (#58)
* Check RESULT_VARIABLE after get_version script call
2020-12-21 16:41:46 +01:00
..
arch-pkg Remove release examples (#42) 2020-11-23 15:46:03 +01:00
debian Remove release examples (#42) 2020-11-23 15:46:03 +01:00
docker Fix package_deb_docker script (#28) 2020-10-23 09:37:41 +02:00
rpm Remove release examples (#42) 2020-11-23 15:46:03 +01:00
CMakeLists.txt Remove release examples (#42) 2020-11-23 15:46:03 +01:00
get_version.py Add upload of Diff binaries (#58) 2020-12-21 16:41:46 +01: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 Clean Memgraph repository (#12) 2020-10-21 18:56:15 +02: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. Merge all PRs that must be in the new release
  2. Document all changes in CHANGELOG.md and merge 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 Release {{Operating System}} workflow using branch release/X.Y on Github Actions
  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 Release {{Operating System}} workflow using branch release/X.Y on Github Actions
  6. Enjoy