memgraph/release
antonio2368 28413fd626 Change log library to spdlog, expose log levels to user (#72)
* Change from glog to spdlog

* Remove HA tests

* Remove logrotate log configuration

* Define custom main for unit gtests
2021-01-21 16:30:55 +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 Change log library to spdlog, expose log levels to user (#72) 2021-01-21 16:30:55 +01:00
logrotate_enterprise.conf Change log library to spdlog, expose log levels to user (#72) 2021-01-21 16:30:55 +01: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