feat: Add Ubuntu 24.04 build environment and parallelize CI - #495
Open
Gusitir wants to merge 7 commits into
Open
feat: Add Ubuntu 24.04 build environment and parallelize CI#495Gusitir wants to merge 7 commits into
Gusitir wants to merge 7 commits into
Conversation
Author
|
Note on CI Status: The continuous-integration/travis-ci/pr check might show as failing due to the ArchLinux parallel job encountering a network timeout (error: failed retrieving file 'core.db' from fastly.mirror.pkgbuild.com : Resolving timed out) during the base image setup. This is a known intermittent network issue with the Arch mirrors and is entirely unrelated to the Ubuntu 24.04 changes in this PR. The Ubuntu and Ubuntu-24.04 jobs complete successfully. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Ubuntu 24.04 build environment and parallelize CI
Description
Adds native build support for Ubuntu 24.04 (and derived distros like KDE neon), addressing the deprecation of
qt5-defaultand the transition fromlibmpv1tolibmpv2, without risking regressions for the existing Ubuntu 20.04 build.Changes
distros/Ubuntuintodistros/Ubuntu-24.04.ubuntu:24.04and replacedqt5-defaultwithqtbase5-dev qt5-qmake qtchooser.package.shto requirelibmpv2 (>=0.37.0)..travis.ymlto use aDISTROmatrix instead of a sequential bash loop, building all distros concurrently to reduce CI time.🛠️ CI/CD Technical Workarounds Applied
To get the automated Travis CI pipeline to successfully build and package an
ubuntu:24.04container, the following specific workarounds were implemented:.travis.ymlmatrix explicitly setsdist: focalfor the 24.04 job. Running a modernubuntu:24.04container on the legacyxenialhost causes anoverlayfskernel bug that crashesapt updatewith Error 100.installwatchbug: Indistros/Ubuntu-24.04/package.sh, thecheckinstallflag was changed from--fstrans=yesto--fstrans=no. Modern versions of Ubuntu (and CMake 3.28) have a known incompatibility withinstallwatchwithin Docker containers that intercepts directory creation incorrectly, causingmake installto fail. Disablingfstranssafely bypasses this within the isolated container.🧪 Testing Performed
libmpv.so.2and the local streaming server boots up perfectly (127.0.0.1:11470), allowing full functionality withstremio-webrunning via Firefox.build-essential qt5-qmake qtdeclarative5-dev qtwebengine5-dev qml-module-qtquick-controls qml-module-qtwebchannel qml-module-qtwebengine qml-module-qt-labs-platform qml-module-qtquick-dialogs libmpv-dev libssl-dev nodejs cmake.Architected, developed, and audited via AI Orchestration (Gemini Pro, Gemini Flash, and Claude Opus).