Third Party Dependencies - magma/magma GitHub Wiki

Several libraries are built and packaged as third-party dependencies in Magma. The reason for this depends on the specific library in question, but an example is the need for patches to be applied. The files related to these dependencies can be found in the third_party folder.

How are they built?

There are two cases: Open vSwitch and the rest.

Open vSwitch is built via a build.sh script. This script is used to build the package in the CI via a GitHub Actions workflow, Magma Build & Publish Open vSwitch Artifacts.

The remainder are built via a build.py script, which is similarly used in the CI as part of the Magma Build & Publish 3rd Party Dependencies workflow.

How are the packages published?

The packages built in the aforementioned CI workflows are not published automatically. To publish them to the artifactory, the workflows need to be run manually using the workflow_dispatch event trigger. By default, the packages will be published to magma-packages-test/pool/focal-ci, but the distribution, here "focal-ci", can be set when manually triggering the workflow.