learningequality / kolibri

Kolibri Learning Platform: the offline app for universal education
https://learningequality.org/kolibri/
MIT License
784 stars 651 forks source link

Can Kolibri 0.17 -> 0.18 pre-release .deb files be made easily installable? 🙏 GOAL: to help pre-release QA/CI/CD! #11892

Open holta opened 8 months ago

holta commented 8 months ago

QUESTION: Can Learning Equality make QA-oriented pre-release installs of Kolibri 0.17 much more hassle-free?

It would be as "dead simple" as offering a URL just like your current... https://learningequality.org/r/kolibri-deb-latest (currently redirects to 0.15.12 .deb file... which is "quaint" but... many IIAB communities started using 0.16 pre-releases more than a year ago!)

This new, additional simple web redirect (updated every month or so!) would be a Lifesaver — especially for communities actively wanting to trial new Kolibri features:

Would you be able to consider something like... ?

Or perhaps you might prefer... ?

Thank you for please considering !!!

Tangentially Related:

rtibbles commented 8 months ago

Our plan had been to enable this workflow by pushing prereleases to the kolibri-proposed ppa, would this be fit the bill?

holta commented 8 months ago

Our plan had been to enable this workflow by pushing prereleases to the kolibri-proposed ppa, would this be fit the bill?

Great!

Just so I understand, will a fixed URL be available — so the latest .deb file installer (for 0.17 pre-releases) will always available — at that fixed URL?

holta commented 8 months ago

will a fixed URL be available — so the latest .deb file installer (for 0.17 pre-releases) will always available — at that fixed URL?

Role Model:

https://wordpress.org/latest.zip is the kind of behavior we're looking for — makes life "dead easy" for everyone involved (no need to drown in version numbers, no need to manually tweak URL's, or any other cross-referencing / prep nuisances, etc!)

rtibbles commented 8 months ago

Hrm, yes, I think that should be feasible, now that I think about it, at least for the deb, the whl file probably wouldn't like that name.

rtibbles commented 8 months ago

How would you feel about kolibri-deb-next to go along with kolibri-deb-latest? That would seem like the simplest naming scheme to me.

holta commented 8 months ago

How would you feel about kolibri-deb-next to go along with kolibri-deb-latest? That would seem like the simplest naming scheme to me.

Awesome! Thank you!

holta commented 7 months ago

Any chance both URLs will be updated this month, as part of Kolibri 0.16.0's release process?

(No rush, but if possible ping when it's done, Thanks!)

marcellamaki commented 7 months ago

Hi @holta - yes, we will be planning to update this as part of the 0.16.0 release process, at some point in the next few weeks. I will try to remember to notify you when it happens!

holta commented 7 months ago

Hi @holta - yes, we will be planning to update this as part of the 0.16.0 release process, at some point in the next few weeks. I will try to remember to notify you when it happens!

1) Thanks again @marcellamaki. Just FYI until the above happens (and apt too, also points to the latest 0.16.x for all Debian-like OS's, with @jredrejo's help?) Internet-in-a-Box has implemented a temporary/interim kludge to force the installation of 0.16.0 (as a result of serious 0.15.x install problems on modern OS's, aggravating too many Internet-in-a-Box communities ;)

2) Regarding Ubuntu 24.04 LTS whose final release will be April 25th with Python 3.12 — is an Alpha release of Kolibri 0.17 most likely the solution here, ideally not long after April 25th? As @rtibbles hinted 3 weeks ago. That would be really great! Or if something like Kolibri 0.16.1 is perhaps preferred, just let us know? 🙏

Related:

marcellamaki commented 7 months ago

Hi @holta - as @rtibbles mentioned, since in Kolibri 0.16.x is pinned below python 3.12, we will not update this in 0.16.1. In 0.17.x we are dropping Python 2.7 support and may be able to address this in our general maintenance work. I'll discuss with Richard and the team further and see if we might be able to integrate this into our milestone.

We will likely have at least several pre-releases of 0.17 by the end of April, although if at all possible, I would encourage you to wait for our first beta release. Early alpha releases, although publicly listed on our releases page, are usually not stable enough pre-releases for us to recommend them for widespread use.

holta commented 7 months ago

Huge Thanks @marcellamaki.

https://learningequality.org/r/kolibri-deb-next will be exceedingly useful to Ubuntu 24.04 LTS communities dabbling with pre-releases of Kolibri 0.17 even if yeah, they will definitely have to accept bugs in the early/Alpha months for sure — as the subject line of this ticket makes clear! 😄

holta commented 6 months ago

FYI https://learningequality.org/r/kolibri-deb-latest still downloads the problematic kolibri_0.15.12-0ubuntu1_all.deb more than 5 weeks after Kolibri 0.16.0 was released.

(A bit odd now that 0.16.1 Beta 0 has been released!)

marcellamaki commented 6 months ago

Hi @holta - we've updated this today. Can you try again? It should now be reflecting 0.16.0. (The 'next' redirect to pre-releases is still to come.)

holta commented 6 months ago

Hi @holta - we've updated this today. Can you try again? It should now be reflecting 0.16.0. (The 'next' redirect to pre-releases is still to come.)

Awesome!

Can @jredrejo arrange for the apt command (deb infra) to install 0.16.0 as well?

(FYI, apt still installs the older / problematic version 0.15.12 for now.)

marcellamaki commented 6 months ago

He will be out of office through the end of this week, but I will check in with him about this next week when he is back.

marcellamaki commented 6 months ago

the apt command (deb infra) to install 0.16.0 as well?

@holta, thanks for your patience - this will be updated as part of today's release of 0.16.1, to install 0.16.1. We apologize that it wasn't updated earlier!

jredrejo commented 6 months ago

@holta 0.16.1 is now available in Ubuntu Launchpad repository to be installed using apt.

holta commented 6 months ago

Many thanks @marcellamaki and @jredrejo !

PS best of luck preparing a Kolibri 0.17 alpha release for Python 3.12 in coming weeks, so Ubuntu 24.04 LTS schools/communities can take advantage as soon as is realistic after Canonical's 2024-04-25 OS release date (in just 2 weeks from Thursday 😉).

holta commented 3 months ago

FYI @rtibbles has posted an update on PPA kolibri-proposed still needing CD (continuous delivery/continuous deployment) tuning here:

holta commented 2 months ago

@rtibbles's update from 2024-06-25: (so this doesn't get lost with #11316 now closed!)

We do currently have kolibri-proposed and kolibri PPAs for this purpose, although the main issue at the moment is the lack of CD to our kolibri-proposed PPA. The main limitation here is just our internal bandwidth to implement this - it's on the radar, but other things are taking priority at the moment.

Recapitulating, might Kolibri 0.18 .deb pre-release files be made easily installable via PPA — even if this turns out not to be possible for 0.17 pre-releases in the end?

Context:

rtibbles commented 2 months ago

Hi @holta - yes, we've not quite made it to having continuous deployment to kolibri-proposed (and to kolibri) for prereleases and releases yet, but we have some more concrete plans, either in the course of the 0.17.x patch release series, or for 0.18.0.

holta commented 2 months ago

@rtibbles

Can PPA https://launchpad.net/~learningequality/+archive/ubuntu/kolibri be manually updated to offer Kolibri 0.17.0 in coming days, even if the automated ("CD" continuous delivery / continuous deployment) approach is not yet working? :smile:

Ideally, if possible anyway! :pray:

rtibbles commented 2 months ago

It will be, once the release has been finalized - note that the tagging of the release on Github is the start of the process of release, not the end of it, and we conduct QA checks after the initial tagging of the release to ensure against any breakages in the pipeline.

holta commented 2 months ago

@rtibbles

  1. PPA install of Kolibri 0.17.0 now works on Ubuntu 24.04 (and hopefully Raspberry Pi OS + similar distros!)

  2. If you care (?) command-line output is still a bit ugly here...

root@box:~# kolibri --version
INFO: Initialized plugins.json
/usr/lib/python3/dist-packages/kolibri/dist/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.19) or chardet (5.2.0)/charset_normalizer (2.0.12) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
/usr/lib/python3/dist-packages/kolibri/dist/magicbus/process.py:9: SyntaxWarning: invalid escape sequence '\ '
  """A Bus subclass for managing the state of a process.
/usr/lib/python3/dist-packages/kolibri/dist/magicbus/plugins/servers.py:1: SyntaxWarning: invalid escape sequence '\ '
  """
kolibri, version 0.17.0

root@box:~# kolibri --version
INFO: Initialized plugins.json
/usr/lib/python3/dist-packages/kolibri/dist/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.19) or chardet (5.2.0)/charset_normalizer (2.0.12) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
kolibri, version 0.17.0

root@box:~# hostnamectl
 Static hostname: box
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: 9ea9a524fe56488bb223c964ac4d89fd
         Boot ID: 6b475c4cb12f447ea5c319d7493372b4
  Virtualization: kvm
Operating System: Ubuntu 24.04 LTS
          Kernel: Linux 6.8.0-39-generic
    Architecture: x86-64
 Hardware Vendor: QEMU
  Hardware Model: Standard PC _Q35 + ICH9, 2009_
Firmware Version: unknown
   Firmware Date: Wed 2022-02-02
    Firmware Age: 2y 6month 5d
holta commented 1 month ago

@marcellamaki wrote:

Hi @holta - since we have been working hard over the last year to transition towards a more iterative release process and schedule (in line with many of the same ideas you laid out in your comment above!) with more frequent minor releases of Kolibri, we plan to release 0.18 this fall. This would be in line with the Python 3.13 final release timeline [...]

Thanks again @marcellamaki!

With fall beginning next week (for the Global North anyway ;) do you have any idea if Kolibri 0.17.1 or an 0.18 Alpha might be possible this month or soon?

ASIDE: Python 3.13 is right on schedule to be released on Oct 1st, just in case 0.18 Alphas might take that into account 😅

https://www.python.org/downloads/release/python-3130rc2/

holta commented 3 weeks ago

fyi Kolibri 0.17.1 looks very promising: https://github.com/learningequality/kolibri/releases/tag/v0.17.1

( Let us hope 0.18.0 Alphas / Betas ideally become easy to auto-install soon! 🎸 )

holta commented 2 weeks ago

Let us hope 0.18.0 Alphas / Betas ideally become easy to auto-install soon! 🎸

Progress hopefully, on this exact topic:

(See 0.17.2 for now, at https://github.com/learningequality/kolibri/releases/tag/v0.17.2 !)

holta commented 2 weeks ago

Let us hope 0.18.0 Alphas / Betas ideally become easy to auto-install soon! 🎸

On a similar note, PPA https://launchpad.net/~learningequality/+archive/ubuntu/kolibri is out of date, installing 0.17.0 from 2 months ago (instead of 1.17.2) onto OS's like Debian, Ubuntu, Raspberry Pi OS, Mint, etc.

Can somebody please update this?

rtibbles commented 1 week ago

Thanks for pointing this out, @holta - we will update soon.

jredrejo commented 1 week ago

@holta updated!