python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Copy env.sample to env, fill in your values, then source it:
cp env.sample env
# edit env with your values
source ./env
One-shot script that runs create-kobo-release.sh then create-gh-releases.py.
Complete the Setup steps above.
release.sh will exit with a clear error if KOBO_BASE_DIR or GITHUB_API_TOKEN are not set.
./release.sh <tag>
Example:
./release.sh 2.026.07h
Tags and updates kobo-docker and kobo-install for a new release.
source ./env # sets KOBO_BASE_DIR
./create-kobo-release.sh <tag>
Creates GitHub releases for the following KoboToolbox repositories:
- kobo-docker — body links to the KPI release
- kobo-install — body links to the KPI release
- KPI — body uses
CHANGELOG.mdfrom thechangelog/<tag>branch, falls back to auto-generated release notes
Complete the Setup steps above.
python3 create-gh-releases.py <tag>
Example:
python3 create-gh-releases.py 2.026.07h
Deprecated:
release-notes.pyis no longer maintained. Its documentation is kept below for reference.
release-notes.py (deprecated)
Generates a Markdown or CSV table of PRs merged between two tags for a given repo.
source ./env # sets KOBO_BASE_DIR
python3 release-notes.py [--markdown] <repo> <previous-tag> <new-tag>
Examples:
python3 release-notes.py kpi 2.025.10 2.026.07h
python3 release-notes.py --markdown kpi 2.025.10 2.026.07h
- Without
--markdown: outputs CSV to stdout - With
--markdown: outputs a Markdown table to stdout - Warnings about missing PRs are printed to stderr