GiellaLT provides an infrastructure for rule-based language technology aimed at minority and indigenous languages, and streamlines building anything from keyboards to speech technology. Read more about Why. See also How to get started and our Privacy document.
TL;DR Push the tag first, then the branch
SPELLERVERSION
in configure.ac
, using semantic versioning:
0.x.x
to 1.x.x
)manifest.toml
, either by editing manually, or by running make
after changing configure.ac
configure.ac
and manifest.toml
v
+ version string from previous step. If the version string is 1.2.3
, the tag should be v1.2.3
1.2.3
t0 1.2.4
in both
configure.ac
and manifest.toml
. This is to prepare for the next release
(which normally is either a bugfix or a minor release), and will ensure that
everyone on the nightly channel receive updates automatically. If the release
didn’t go through, then see below on re-release before bumping the bugfix
number.CI + CD will do everything, including releasing the updated speller to the pahkat server, as long as the GIT tag is properly set.
The pahkat client installed as part of Divun Manager will then ensure that the new speller version is automatically installed on user machines on the next server poll.
If something caused the CI or CD to fail, fix the the issue, and add the same GIT tag to the new revision, the one containing the bug fixes. You will be told there already exists an identical tag, so force push to override the old one.
As long as the new version did not reach users, there is no need to update the version string. But if the buggy version DID get released, then you MUST start from the top, and create a new version. That should be a bugfix version.
Divvun Manager has three channels to install from, selectable from the preferences (the actual text may be localised):
The channels are populated as follows:
Any keyboard or language model commit that is:
v1.0.0
or higher (see above)configure.ac
& manifest.toml
*.kbdgen/targets/*.yaml
Any keyboard or language model commit that is:
v1.0.0
(see above)configure.ac
& manifest.toml
*.kbdgen/targets/*.yaml
Any keyboard or language model commit pushed to GitHub. That is, Nightly will always contain the latest successful CI/CD build.
When an update is released, in any of the channels according to the rules above, older packages will be updated automatically from the active channel as long as the version number is higher. The version number comparison does not take into account suffixes like -nightly
, so to ensure proper automatic installation, make sure to bump the version number after a regular (beta or stable) release.