kolibri icon indicating copy to clipboard operation
kolibri copied to clipboard

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

Open holta opened this issue 1 year ago • 34 comments

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... ?

  • https://learningequality.org/r/kolibri-deb-pre-release

Or perhaps you might prefer... ?

  • https://learningequality.org/r/kolibri-deb-0.17-latest

Thank you for please considering !!!

Tangentially Related:

  • https://github.com/iiab/iiab/issues/3343#issuecomment-1233163573
  • https://github.com/learningequality/kolibri-installer-debian/issues/131

holta avatar Feb 16 '24 19:02 holta

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

rtibbles avatar Feb 17 '24 16:02 rtibbles

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 avatar Feb 17 '24 16:02 holta

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!)

holta avatar Feb 17 '24 16:02 holta

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 avatar Feb 17 '24 16:02 rtibbles

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.

rtibbles avatar Feb 17 '24 20:02 rtibbles

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 avatar Feb 17 '24 23:02 holta

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

  • https://learningequality.org/r/kolibri-deb-latest "0.16" release
  • https://learningequality.org/r/kolibri-deb-next "0.17" pre-release

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

holta avatar Feb 21 '24 13:02 holta

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!

marcellamaki avatar Feb 21 '24 15:02 marcellamaki

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:

  • #11316

holta avatar Mar 17 '24 18:03 holta

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.

marcellamaki avatar Mar 18 '24 14:03 marcellamaki

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 avatar Mar 18 '24 15:03 holta

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!)

holta avatar Mar 26 '24 19:03 holta

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.)

marcellamaki avatar Mar 26 '24 20:03 marcellamaki

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.)

holta avatar Mar 26 '24 20:03 holta

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 avatar Mar 26 '24 20:03 marcellamaki

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!

marcellamaki avatar Apr 08 '24 15:04 marcellamaki

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

jredrejo avatar Apr 08 '24 19:04 jredrejo

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 avatar Apr 08 '24 20:04 holta

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

  • https://github.com/learningequality/kolibri/issues/11316#issuecomment-2189184635

holta avatar Jun 25 '24 17:06 holta

@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:

  • https://github.com/learningequality/kolibri/issues/11316#issuecomment-2181601178

holta avatar Jul 31 '24 19:07 holta

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.

rtibbles avatar Jul 31 '24 19:07 rtibbles

@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:

holta avatar Aug 06 '24 20:08 holta

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.

rtibbles avatar Aug 06 '24 20:08 rtibbles

@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 avatar Aug 08 '24 04:08 holta