mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2024-12-14 10:13:05 +02:00
2d10293d04
Bug Fixes: * Fix remote timeout in delta restore. When performing a delta restore on a largely unchanged cluster the remote could timeout if no files were fetched from the repository within protocol-timeout. Add keep-alives to prevent remote timeout. (Reported by James Sewell, Jens Wilke.) * Fix handling of repeated HTTP headers. When HTTP headers are repeated they should be considered equivalent to a single comma-separated header rather than generating an error, which was the prior behavior. (Reported by donicrosby.) Improvements: * JSON output from the info command is no longer pretty-printed. Monitoring systems can more easily ingest the JSON without linefeeds. External tools such as jq can be used to pretty-print if desired. (Contributed by Cynthia Shang.) * The check command is implemented entirely in C. (Contributed by Cynthia Shang.) Documentation Improvements: * Document how to contribute to pgBackRest. (Contributed by Cynthia Shang.) * Document maximum version for auto-stop option. (Contributed by Brad Nicholson.) Test Suite Improvements: * Fix container test path being used when --vm=none. (Suggested by Stephen Frost.) * Fix mismatched timezone in expect test. (Suggested by Stephen Frost.) * Don't autogenerate embedded libc code by default. (Suggested by Stephen Frost.)
148 lines
3.6 KiB
Markdown
148 lines
3.6 KiB
Markdown
# Release Build Instructions
|
|
|
|
## Create a branch to test the release
|
|
|
|
```
|
|
git checkout -b release-ci
|
|
```
|
|
|
|
## Update the date, version, and release title
|
|
|
|
Edit the latest release in `doc/xml/release.xml`, e.g.:
|
|
```
|
|
<release date="XXXX-XX-XX" version="2.14dev" title="UNDER DEVELOPMENT">
|
|
```
|
|
to:
|
|
```
|
|
<release date="2019-05-20" version="2.14" title="Bug Fix and Improvements">
|
|
```
|
|
|
|
Edit version in `lib/pgBackRest/Version.pm`, e.g.:
|
|
```
|
|
use constant PROJECT_VERSION => '2.14dev';
|
|
```
|
|
to:
|
|
```
|
|
use constant PROJECT_VERSION => '2.14';
|
|
```
|
|
|
|
## Build release documentation. Be sure to install latex using the instructions from the Vagrantfile before running this step. The `u19` vm is also required.
|
|
```
|
|
doc/release.pl --build
|
|
```
|
|
|
|
## Update code counts
|
|
```
|
|
test/test.pl --code-count
|
|
```
|
|
|
|
## Commit release branch and push to CI for testing
|
|
```
|
|
git commit -m "Release test"
|
|
git push origin release-ci
|
|
```
|
|
|
|
## Clone web documentation into `doc/site`
|
|
```
|
|
cd doc
|
|
git clone git@github.com:pgbackrest/website.git site
|
|
```
|
|
|
|
## Deploy web documentation to `doc/site`
|
|
```
|
|
doc/release.pl --deploy
|
|
```
|
|
|
|
## Final commit of release to integration
|
|
|
|
Create release notes based on the pattern in prior git commits (this should be automated at some point), e.g.
|
|
```
|
|
v2.14: Bug Fix and Improvements
|
|
|
|
Bug Fixes:
|
|
|
|
* Fix segfault when process-max > 8 for archive-push/archive-get. (Reported by Jens Wilke.)
|
|
|
|
Improvements:
|
|
|
|
* Bypass database checks when stanza-delete issued with force. (Contributed by Cynthia Shang. Suggested by hatifnatt.)
|
|
* Add configure script for improved multi-platform support.
|
|
|
|
Documentation Features:
|
|
|
|
* Add user guides for CentOS/RHEL 6/7.
|
|
```
|
|
|
|
Commit to integration with the above message and push to CI.
|
|
|
|
## Push to master
|
|
|
|
Push release commit to master once CI testing is complete.
|
|
|
|
## Create release on github
|
|
|
|
Create release notes based on pattern in prior releases (this should be automated at some point), e.g.
|
|
```
|
|
v2.14: Bug Fix and Improvements
|
|
|
|
**Bug Fixes**:
|
|
|
|
- Fix segfault when process-max > 8 for archive-push/archive-get. (Reported by Jens Wilke.)
|
|
|
|
**Improvements**:
|
|
|
|
- Bypass database checks when stanza-delete issued with force. (Contributed by Cynthia Shang. Suggested by hatifnatt.)
|
|
- Add configure script for improved multi-platform support.
|
|
|
|
**Documentation Features**:
|
|
|
|
- Add user guides for CentOS/RHEL 6/7.
|
|
```
|
|
|
|
The first line will be the release title and the rest will be the body. The tag field should be updated with the current version so a tag is created from master. **Be sure to select the release commit explicitly rather than auto-tagging the last commit in master!**
|
|
|
|
## Push web documentation to master and deploy
|
|
```
|
|
cd doc/site
|
|
git commit -m "v2.14 documentation."
|
|
git push origin master
|
|
```
|
|
|
|
Deploy the documentation on `pgbackrest.org`.
|
|
|
|
## Notify packagers of new release
|
|
|
|
## Announce release on Twitter
|
|
|
|
## Prepare for the next release
|
|
|
|
Add new release in `doc/xml/release.xml`, e.g.:
|
|
```
|
|
<release date="XXXX-XX-XX" version="2.15dev" title="UNDER DEVELOPMENT">
|
|
```
|
|
|
|
Edit version in `lib/pgBackRest/Version.pm`, e.g.:
|
|
```
|
|
use constant PROJECT_VERSION => '2.14';
|
|
```
|
|
to:
|
|
```
|
|
use constant PROJECT_VERSION => '2.15dev';
|
|
```
|
|
|
|
Run deploy to generate git history (ctrl-c as soon as the file is generated):
|
|
```
|
|
doc/release.pl --build
|
|
```
|
|
|
|
Build to generate files and test documentation:
|
|
```
|
|
test/test.pl --vm=u18 --build-only
|
|
```
|
|
|
|
Commit and push to integration:
|
|
```
|
|
git commit -m "Begin v2.15 development."
|
|
git push origin master
|
|
```
|