Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
SuperGNUS opened this issue May 9, 2023 · 3 comments
Assignees

Comments

@SuperGNUS
Copy link
Contributor

SuperGNUS commented May 9, 2023

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
Copy link
Contributor Author

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.

@SuperGNUS SuperGNUS changed the title Integrate conan.io c++ packager to ThirdParty Integrate package builds via github CLI to package built libs/source to ThirdParty May 10, 2023
@engfanzero
Copy link

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
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants