isle/docs/dev/releases.md

37 lines
1.3 KiB
Markdown

# Releases
A release consists of:
- A full set of `isle` binaries for all supported platforms, compiled from the
same source.
- A text file containing hashes of each binary.
- A file containing a signature of the hash file, created by whoever is building
the release.
## Building
*NOTE: This has only been tested from an x86_64 linux machine*
To create a release only a functional nix installation is required. Simply run
the `./release.sh` script, and input a release name when prompted.
From here an `isle` binary will be cross-compiled for all supported
platforms. This will take a long time the first time you perform it on your
machine.
Once compilation is completed, the release will be signed using the default GPG
key on your machine, and you will be prompted for its password in order to
create the signature.
## Releasing
Release artifactes are hosted at `micropelago.net` under
`/isle/releases/<release name>`. An `index.gmi` page should be created in that
directory which includes links to each artifact, as well as a changelog
detailing all new features and fixes included since the previous release.
A link to the new release should be included at `/isle/releases/index.gmi`.
The release shoulld be tagged in the git repo using its release name as well,
with the tag notes linking to the `micropelago.net` page.