GeniusVentures / thirdparty

2 stars 2 forks source link

Integrate package builds via github CLI to package built libs/source to ThirdParty #25

Open SuperGNUS opened 1 year ago

SuperGNUS commented 1 year ago

Our ThirdParty takes a while to build, so we should hook up the conan.io package manager and store the prebuilt libraries and source code on JFROG Artifactory or better GitHub releases page.

SuperGNUS commented 1 year ago

Moving this away from conan.io, since we either have to have our own artifactory storage or sign up for ConanCenter and get approved. Too much hassle.

Flow is this.

Use gh-cli to list the latest release (master) or pre-release (develop) cpp-package.json,

You can pull that JSON file and it will list the libraries/source file links & their respective Short SHA (7 bytes) in the JSON.

When compiling a submodule that changes, you update the JSON file entry for that submodule. The other submodules zip files are linked to previous release storage.

Then on a development/ CI/CD system, you can use gh-cli to pull the latest release cpp-package.json file and download all the prebuilt libs & source files.

engfanzero commented 1 year ago

We have multiple build environments: Windows, Linux... Do we need to maintain different json files for each environment, or we need only one json file for all environments?

Super-Genius commented 1 year ago

@ADthekid Please take a look at this. There should be a script that can be run on a machine to download the latest thirdaparty pre-built modules for either debug/release.

Then you can test build SuperGenius with the ThirdParty prebuild libraries to make sure it builds and tests.

The SuperGenius project assumes ../thirdparty is the root directory of the thirdparty libraries.