Automatically releasing versions using GitHub
Version control tools allow developers to tag specific revisions of their source code, which, in effect, creates a snapshot of the repository at a point in time. The most common use for tags is to identify the source components and files that make up a particular version or release of the software and tools such as GitHub and GitLab take this a step further by allowing developers to create a release based on a particular tag. These typically consist of the list of changes applicable to this particular release in the form of release notes. They can also include links to the list of assets that make up the release, which are typically downloadable binary packages.
Releases can be created using the tool's user interface, but most commonly are created automatically by build tools such as Bitbucket Pipelines or Jenkins upon the successful completion of a deployment build. These tools can, in turn, fire webhook events to notify other...