Skip to content

Self-hosted APT repo on apt.learningequality.org #10488

Self-hosted APT repo on apt.learningequality.org

Self-hosted APT repo on apt.learningequality.org #10488

Triggered via pull request July 29, 2026 23:41
Status Success
Total duration 13m 14s
Artifacts 13

pr_build_kolibri.yml

on: pull_request
Build WHL file  /  Build WHL
5m 4s
Build WHL file / Build WHL
Build DEB file  /  Build DEB file
3m 27s
Build DEB file / Build DEB file
Build kolibri-server DEB file  /  Build kolibri-server DEB file
2m 31s
Build kolibri-server DEB file / Build kolibri-server DEB file
Matrix: Test WHL file with uv-supported Python versions
Matrix: Test WHL file with Python versions without uv support
Build APK file  /  Build Android App
2m 33s
Build APK file / Build Android App
Build DMG file  /  build_dmg
4m 48s
Build DMG file / build_dmg
Browser smoke test
1m 13s
Browser smoke test
Build EXE file  /  Build EXE file
5m 9s
Build EXE file / Build EXE file
Build PEX file  /  Build PEX
43s
Build PEX file / Build PEX
Build Raspberry Pi Image  /  Build Pi image
2m 40s
Build Raspberry Pi Image / Build Pi image
kolibri-server serving smoke test
1m 1s
kolibri-server serving smoke test
Matrix: android_smoke_test
macOS DMG smoke test
2m 32s
macOS DMG smoke test
WHL smoke tests
3s
WHL smoke tests
Windows EXE smoke test
1m 10s
Windows EXE smoke test
Pi image smoke test
1m 4s
Pi image smoke test
Fit to window
Zoom out
Zoom in

Annotations

34 warnings
Test WHL file with uv-supported Python versions (3.9, true)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.9, true)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.10, true)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.10, true)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.8, false)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.8, false)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.14, false)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.14, false)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.12, true)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.12, true)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.11, true)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.11, true)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.8, true)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.8, true)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.13, true)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.13, true)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.13, false)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.13, false)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.9, false)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.9, false)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.10, false)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.10, false)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.11, false)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.11, false)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.12, false)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.12, false)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Test WHL file with uv-supported Python versions (3.14, true)
No file matched to [/home/runner/work/kolibri/kolibri/**/*requirements*.txt,/home/runner/work/kolibri/kolibri/**/*requirements*.in,/home/runner/work/kolibri/kolibri/**/*constraints*.txt,/home/runner/work/kolibri/kolibri/**/*constraints*.in,/home/runner/work/kolibri/kolibri/**/pyproject.toml,/home/runner/work/kolibri/kolibri/**/uv.lock,/home/runner/work/kolibri/kolibri/**/*.py.lock]. The cache will never get invalidated. Make sure you have checked out the target repository and configured the cache-dependency-glob input correctly.
Test WHL file with uv-supported Python versions (3.14, true)
Empty workdir detected. This may cause unexpected behavior. You can enable ignore-empty-workdir to mute this warning.
Build DEB file / Build DEB file
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/download-artifact@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build DMG file / build_dmg
Unexpected input(s) 'cache-dependency-path', valid inputs are ['version', 'version-file', 'python-version', 'activate-environment', 'venv-path', 'no-project', 'working-directory', 'checksum', 'github-token', 'enable-cache', 'cache-dependency-glob', 'restore-cache', 'save-cache', 'cache-suffix', 'cache-local-path', 'prune-cache', 'cache-python', 'ignore-nothing-to-cache', 'ignore-empty-workdir', 'tool-dir', 'tool-bin-dir', 'manifest-file', 'download-from-astral-mirror', 'add-problem-matchers', 'quiet', 'resolution-strategy']
Build DMG file / build_dmg
Unexpected input(s) 'cache-dependency-path', valid inputs are ['version', 'version-file', 'python-version', 'activate-environment', 'venv-path', 'no-project', 'working-directory', 'checksum', 'github-token', 'enable-cache', 'cache-dependency-glob', 'restore-cache', 'save-cache', 'cache-suffix', 'cache-local-path', 'prune-cache', 'cache-python', 'ignore-nothing-to-cache', 'ignore-empty-workdir', 'tool-dir', 'tool-bin-dir', 'manifest-file', 'download-from-astral-mirror', 'add-problem-matchers', 'quiet', 'resolution-strategy']
Build EXE file / Build EXE file
Python cache path D:\a\_temp\uv-python-dir does not exist on disk. Skipping Python cache save because no managed Python installation was found. If you want uv to install managed Python instead of using a system interpreter, set UV_PYTHON_PREFERENCE=only-managed.
Build EXE file / Build EXE file
Unexpected input(s) 'cache-dependency-path', valid inputs are ['version', 'version-file', 'python-version', 'activate-environment', 'venv-path', 'no-project', 'working-directory', 'checksum', 'github-token', 'enable-cache', 'cache-dependency-glob', 'restore-cache', 'save-cache', 'cache-suffix', 'cache-local-path', 'prune-cache', 'cache-python', 'ignore-nothing-to-cache', 'ignore-empty-workdir', 'tool-dir', 'tool-bin-dir', 'manifest-file', 'download-from-astral-mirror', 'add-problem-matchers', 'quiet', 'resolution-strategy']
Build EXE file / Build EXE file
Unexpected input(s) 'cache-dependency-path', valid inputs are ['version', 'version-file', 'python-version', 'activate-environment', 'venv-path', 'no-project', 'working-directory', 'checksum', 'github-token', 'enable-cache', 'cache-dependency-glob', 'restore-cache', 'save-cache', 'cache-suffix', 'cache-local-path', 'prune-cache', 'cache-python', 'ignore-nothing-to-cache', 'ignore-empty-workdir', 'tool-dir', 'tool-bin-dir', 'manifest-file', 'download-from-astral-mirror', 'add-problem-matchers', 'quiet', 'resolution-strategy']

Artifacts

Produced during runtime
Name Size Digest
kolibri-0.19.6.dev2373+g94e7ad15b-debug.apk
71.6 MB
sha256:c5a9be6e81c1272b7032a5cfa8aa95d0b0c29f599aa744fe66695362e82cc35b
kolibri-0.19.6.dev2373+g94e7ad15b.d20260729-py3-none-any.whl
96.8 MB
sha256:ae4cbd971ea8462562a67c476e9d646a57a55926ef9e7570e393858cb2fd4903
kolibri-0.19.6.dev2373+g94e7ad15b.d20260729.dmg
64.3 MB
sha256:ac51631de5bacfd6b8136f6f021f5326e4d62b83c3fa60c5c57d80cc06e92232
kolibri-0.19.6.dev2373+g94e7ad15b.d20260729.tar.gz
99.2 MB
sha256:ae5b67b9ef7235213087769385671eb160792db03a3000f42cacf615b979a681
kolibri-0.19.6.dev2373_g94e7ad15b.d20260729.pex
97.1 MB
sha256:07c19843e2f0d30bc6ec65de59fcba4768a28831e1e0a0e1ac93caff32b98c2c
kolibri-pi-image-0.19.6.dev2373+g94e7ad15b.zip
824 MB
sha256:18c0c806ad69392032de8cc24681ebf18ec5dcf7d72baede42e85723a38fe530
kolibri-server_0.19.6~dev2373+g94e7ad15b.d20260729-0ubuntu1_all.deb
23.7 KB
sha256:292a64bfef048ff87b4bdfc40ba64227b9e5188e21faba8efd5d008a036e4615
kolibri-setup-0.19.6.dev2373+g94e7ad15b.d20260729-unsigned.exe
257 MB
sha256:18c60b73c58b72a5d5c527bfa34b3f6ac05bc6892a370473f3320ce3781b9a98
kolibri_0.19.6.dev2373+g94e7ad15b-0ubuntu1_all.deb
93.6 MB
sha256:158b943de385ca36761e5c66a39d99031e3ecc15ce1c6fdf245e2ee89b38f502
maestro-debug-output-api-24
2.64 KB
sha256:ed5c896d436c4d8c5564ba0683a4ac831b403e72cb999059fd4a9a6631102c1c
maestro-debug-output-api-30
3.25 KB
sha256:424b2dba0f1cbccb66c1c0ee933d3f32545262d54b60d727e96c2d8b4597794c
maestro-debug-output-api-35
2.6 KB
sha256:df883ef8da70a2a89b780a5dec93aa3416829abc33c1b45019b8e48f69c5f3d5
smoke_test_screenshot
73.1 KB
sha256:dc8f1afcc379d09853d087f88622c5a60453fa89b5f419dc4e848bceda33e424