More details about the release process

This commit is contained in:
Duke Leto
2022-09-19 12:54:03 -04:00
parent afcedbd06a
commit 50c4af69f1

View File

@@ -62,13 +62,19 @@ Install deps on Linux:
- A `CLIENT_VERSION_BUILD` of 50 means "actual non-beta release"
- Make sure to keep the values in configure.ac and src/clientversion.h the same. The variables are prefixed wth an underscore in configure.ac
- Run `make manpages`, commit + push results
- hushd must be running so the script can automatically get the correct version number
- There is a hack in the script where you can hardcode a version number if hushd isn't running.
- Comment out the HUSHVER line and uncomment the line above it with a hardcoded version number
- PROTIP: Man page creation must be done after updating the version number and recompiling and before Debian package creation
- Update checkpoints in src/chainparams.cpp via util/checkpoints.pl
- hushd must be running to run this script, since it uses hush-cli to get the data
- checkpoints.pl will just generate the data you need, it must be manually copied into the correct place
- Checkpoint are a list of block heights and block hashes that tell a full node the correct block history of the blockchain
- Checkpoints make block verification a bit faster, because nodes can say "is this block a descendant of a checkpoint block" instead of doing full consensus checks, which take more time
- Checkpoints are a list of block heights and block hashes that tell a full node the correct block history of the blockchain
- Checkpoints make block verification a bit faster, because nodes can say "is this block a descendant of a checkpoint block?" instead of doing full consensus checks, which take more time
- Checkpoints also provide a bit of security against some attacks that would create malicious chainforks
- Update man pages
- They only provide limited security, because they talk about the past, not future block heights.
- Try to generate checkpoints as close to the release as possible, so you can have a recent block height be protected.
- For instance, don't update checkpoints and then do a release a month later. You can always update checkpoint data again or multiple times
- Update copyright years (if applicable) with util/replace.pl
- Do a fresh clone and fresh sync with new checkpoints
- Stop node, wait 20 minutes, and then do a partial sync with new checkpoints
@@ -76,6 +82,7 @@ Install deps on Linux:
- Make Git Tag (Gitea can do this)
- Use util/gen-linux-binary-release.sh to make a Linux release binary
- Use util/build-debian-package.sh to make an x86 Debian package for the release
- Debian packages should be done after you make manpages, because those are included in Debian packages
- Use util/build-debian-package-ARM.sh (does this still work?) to make an ARM Debian package for the release
- Upload the debian packages to the Gitea release page, with SHA256 sums