Release process
The aleph-vm software orchestrates the execution of virtual machines on aleph.im compute resource nodes using two hypervisors: QEMU and Firecracker. This software is collaboratively developed by aleph.im and the open-source community, with the main repository located at aleph-im/aleph-vm on GitHub.
Versioning
The versioning of aleph-vm follows the Semantic Versioning specification.
The version number is composed of three numbers: MAJOR.MINOR.PATCH
.
MAJOR
version is incremented when incompatible changes are made.MINOR
version is incremented when new features are added in a backwards-compatible manner.PATCH
version is incremented when backwards-compatible bug fixes are made.
Additional labels for pre-release follow Python's PEP-0440.
Development process
Development is primarily conducted through Pull Requests (PRs) and code reviews targeting the main
branch.
Commits must follow the commit style defined on the community forum.
Significant updates trigger preparation for a new release.
Releases
aleph-vm is published in two formats:
- Debian packages for supported distributions.
- Source code for manual installation.
Preparation of a new release:
- Packages built by GitHub Actions are tested on staging servers.
- A new git tag is assigned to the release.
- The new release is listed in the table used by the node scoring.
- Draft release notes are prepared on the GitHub releases page.
- Packages are downloaded, unpacked, and attached to the release.
- Release notes are reviewed and published.
- The release is announced on Twitter, Telegram, and other channels.
All releases are documented on the aleph-vm GitHub releases page.