Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prestodb/presto-release-tools
Standard utilities to release Presto
https://github.com/prestodb/presto-release-tools
Last synced: about 1 month ago
JSON representation
Standard utilities to release Presto
- Host: GitHub
- URL: https://github.com/prestodb/presto-release-tools
- Owner: prestodb
- License: apache-2.0
- Created: 2020-01-31T02:07:19.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-19T09:38:44.000Z (7 months ago)
- Last Synced: 2024-05-19T15:02:30.038Z (7 months ago)
- Language: Java
- Homepage:
- Size: 260 KB
- Stars: 2
- Watchers: 17
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Presto Release Tools
[![Maven Central](https://img.shields.io/maven-central/v/com.facebook.presto/presto-release-tools.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:com.facebook.presto%20a:presto-release-tools)
[![Build Status](https://travis-ci.org/prestodb/presto-release-tools.svg?branch=master)](https://travis-ci.org/prestodb/presto-release-tools)Tools to prepare Presto releases.
To download the release tools executable.
```
curl -L -o /tmp/presto_release "https://oss.sonatype.org/service/local/artifact/maven/redirect?g=com.facebook.presto&a=presto-release-tools&v=RELEASE&r=releases&c=executable&e=jar"
chmod 755 /tmp/presto_release
```## Cut Release
The ``cut-release`` command performs the following actions:
- Check that there is no uncommitted local changes.
- Checkout and fast-forward ``master`` branch.
- Fetch ``upstream``, including tags.
- Determine the release version.
- Check that the git tag of last version exists.
- Check that the git tag of the release version not exist.
- Check that the release has not been cut, that is, the release branch does not exist.
- Perform custom updates to the root ``pom.xml`` file.
- Bump version in ``pom.xml`` files.
- Push changes to ``master`` branch on ``upstream``.
- Create a release branch from the ``master`` branch.
- Push changes to the release branch on ``upstream``.To cut a release from a local repo:
```
/tmp/presto_release cut-release --directory /path/to/presto
```To cut a release with a new clone:
```
/tmp/presto_release cut-release --directory /path/to/new/presto \
--git-initialize-from-remote true --upstream-repo prestodb/presto
```## Finalize Release
The ``finalize-release`` command performs the following actions:
- Check that there is no uncommitted local changes.
- Checkout and fast-forward ``master`` branch.
- Fetch ``upstream``, including tags.
- Determine the release version.
- Check that the git tag of last version exists.
- Check that the git tag of the release version doesn't exist.
- Check that the release is cut, that is, the release branch exists.
- Delete the local release branch if exists.
- Checkout the release branch from ``upstream``.
- Perform custom updates to the root ``pom.xml`` file.
- Run maven commands to prepare the release.
- Push changes to the release branch on ``upstream``.To finalize a release from a local repo:
```
/tmp/presto_release finalize-release --directory /path/to/presto
```To finalize a release with a new clone:
```
/tmp/presto_release finalize-release --directory /path/to/new/presto \
--git-initialize-from-remote true --upstream-repo prestodb/presto
```## Generate Release Notes
To collect and generate release notes:
```
/tmp/presto_release release-notes --github-user --github-access-token
```The commands will create a local branch containing the collected release notes, and a pull request
with description populated with missing release notes, release notes summary, and a list of
commits within the release.