This organization serves a purpose of hosting precompiled builds of packages and libraries required by Membrane plugins. These builds are generated by installing packages with homebrew on different CircleCI execution environments.
If you want to add a new package repository using the automated method (homebrew on CircleCI), follow these steps:
-
Ensure the package is available in homebrew by running
brew info <package>
or check athttps://formulae.brew.sh/formula/<package>
-
Create a repository named
precompiled_<package>
(for instance,precompiled_portaudio
) from theprecompiled_template
template. -
In the
.circleci/config.yml
file, replacePACKAGE_NAME_HERE
with the package name (the same one that was used in the repository name). -
On CircleCI Project Dashboard set up a new project of the package's repository.
-
In the newly created project navigate to Project Settings > Environment Variables > Import Variables and import the
GITHUB_TOKEN
variable from any other precompiled package's repository.
To initiate the precompilation process, push a tag matching the latest version of your package, prefixed with 'v'. You can check the latest version of the package by running brew info <package>
or visiting https://formulae.brew.sh/formula/<package>
. For example, to trigger the precompilation of a package with a latest version of 1.2.3, you would need to push a v1.2.3
tag.
Once the CircleCI pipeline finishes the precompilation and publishing process, a new release will be created from the pushed tag that contains the precompiled builds of the package. By default there will be three archives:
<package>_linux.tar.gz
<package>_macos_arm.tar.gz
<package>_macos_intel.tar.gz
Each of them will contain the package built for specified OS and architecture. Repos and releases structured this way can be further utilized by Bundlex and Membrane Precompiled Dependency Provider