opendocument-app / conan-odr-index

2 stars 1 forks source link

Refactor, again #11

Closed ViliusSutkus89 closed 2 months ago

ViliusSutkus89 commented 2 months ago

Dependency chain logic didn't sit right with me, I wanted to be sure that all the dependencies are in the artifactory when we're building dependents. GitHub matrix jobs cannot depend on one another, so I've had to split them into several layers - tiers, based on the dependency links between them. Build all results in:

packages_0=poppler-data/0.4.12-odr odrcore/4.0.0 fontconfig/2.15.0-odr glib/2.78.3-odr openlibm/0.8.3
packages_1=cairo/1.18.0-odr fontforge/20240423-git
packages_2=poppler/24.07.0-odr
packages_3=pdf2htmlex/0.18.8.rc1-20240619-git

Here's a run, demonstrating it. Note that the actual build logic is moved from build to build_inner, this allows reusing it in different tiers.

Here's a run of poppler-data build chain propagating to poppler and then to pdf2htmlEX.

Also, I've had to change conan source; build; export; export-pkg; test logic into a singular conan create call. conan install is still a separate call. Had to do this because poppler-data in some cases would not install resources. But only in some cases. No idea why, (I believe) it works fine with conan create.

Changed test workflow to run only on manual trigger. OK, I'll agree that 44 jobs on each modification is too much, and there's no way for it to depend on build job, so that the emulator is only triggered after a successful build.

Disabled the ccache too, it's not functional anyways, just wastes cycles, actual tens of seconds in some runs. We can bring it back, once we know how to use it with conan.

Package listing script should be somewhat less ugly now. Keyword being somewhat.

ViliusSutkus89 commented 2 months ago

Need to find a way how to exclude tmpfile/ubuntu build, because it's Android only

ViliusSutkus89 commented 2 months ago

tbh, neither of you have to review it, I just wanted to show off the fact that we finally have a proper dependency chain management =D