For a project such as PLFA, Semantic Versioning doesn’t make a huge amount of sense. Instead, we’ve adopted Calendar Versioning, following, e.g., Ubuntu. PLFA versions are of the form YY.0M, where YY is the short year, and 0M is the zero-padded month. For each release, there are two tags in the repository:
dev-YY.0M: a copy of the contents of thedevbranch at the time of release; andweb-YY.0M: a copy of the web version of PLFA only.
The former contains everything you’d need to work with that version of PLFA, whereas the latter consists only of the relevant files to deploy a web version of PLFA.
There are several steps to creating a new release for PLFA:
- Create a new tag
dev-YY.0Mof thedevbranch. - Create a new tag
web-YY.0Mof themasterbranch. - Push the new tags.
- Draft a new release on GitHub linked to the
dev-YY.0Mtag. - Add the release version
YY.0Mto the end of theRELEASE_VERSIONSvariable in the Makefile. - Write an announcement for the release in the
_postsfolder, describing any major changes. - Run
make build build-history testand deal with any problems. - Commit and push.