# Creating Mac installer packages from CI

**URL:** <https://forum.juce.com/t/creating-mac-installer-packages-from-ci/46132>\
**Category:** General JUCE discussion\
**Created:** [May 21, 2021, 4:13pm UTC](https://forum.juce.com/t/creating-mac-installer-packages-from-ci/46132 "2021-05-21T16:13:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![adamwilson](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/adamwilson/32/1387_2.png) [@adamwilson](https://forum.juce.com/u/adamwilson)\
**Post date:** [May 21, 2021, 4:13pm UTC](https://forum.juce.com/t/creating-mac-installer-packages-from-ci/46132/1 "2021-05-21T16:13:12Z")

</div>

Hi all

I’m looking into options for creating Mac installer packages from the command for running from CI.

I’ve looked at:

- **Packages** (can be run from the command line) - issue is that I don’t know the payload path until the build is finished
- **munkipkg**
- **autoPkg** - this seems to be a good/recommended solution, looking into it at the moment.

Any tips from experienced developers who have automated CI builds to create Installer packages?

---

<div class="post-metadata">

**Author:** ![baconpaul](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/baconpaul/32/8403_2.png) [@baconpaul](https://forum.juce.com/u/baconpaul)\
**Post date:** [May 21, 2021, 4:29pm UTC](https://forum.juce.com/t/creating-mac-installer-packages-from-ci/46132/2 "2021-05-21T16:29:52Z")

</div>

In surge we just scripted it with pkgbuild but I haven’t done the sign in ci thing yet so we end up with a unsigned package. But check out the surge GitHub to see what we did - and it runs in ci no problem. That may help?

> **[surge-synthesizer/surge](https://github.com/surge-synthesizer/surge/tree/main/scripts/installer_mac)**
>
> main/scripts/installer\_mac

---

<div class="post-metadata">

**Author:** ![PluginPenguin](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/pluginpenguin/32/10203_2.png) [@PluginPenguin](https://forum.juce.com/u/PluginPenguin)\
**Post date:** [May 21, 2021, 4:35pm UTC](https://forum.juce.com/t/creating-mac-installer-packages-from-ci/46132/3 "2021-05-21T16:35:03Z")

</div>

I’m creating a Packages based installer for my OJD via GitHub Actions – this works for me. You can find the relevant part of the build script here:

> <https://github.com/JanosGit/Schrammel_OJD/blob/871f49ea1b7e93766f00dcf5081cff53850b93b0/.github/workflows/build.yml#L81>

If you already have a Packages-based installer set up, this is an option to consider. However, for a new installer I probably would drop the packages layer completely and would try a pkgbuild bases approach, which should probably lead to the same result but without depending on a niche tool which e.g. is not even present on a vanilla GitHub Actions runner machine.

---

<div class="post-metadata">

**Author:** ![anthony-nicholls](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/anthony-nicholls/32/1246_2.png) [@anthony-nicholls](https://forum.juce.com/u/anthony-nicholls)\
**Post date:** [May 21, 2021, 6:48pm UTC](https://forum.juce.com/t/creating-mac-installer-packages-from-ci/46132/4 "2021-05-21T18:48:35Z")

</div>

> [@adamwilson](#):
>
> **Packages** (can be run from the command line) - issue is that I don’t know the payload path until the build is finished

If you really don’t know the path until the build has finished then the packages project files are just XML, not too hard to update the XML with the relevant path (or even add new files) from a script.

Or maybe try creating a symlink to the payload and have the packages project refer to the symlink? I’m not sure if it will work but could be worth a try.

Unfortunately, I can’t comment on the others as I’ve no experience with them.

---

<div class="post-metadata">

**Author:** ![adamwilson](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/adamwilson/32/1387_2.png) [@adamwilson](https://forum.juce.com/u/adamwilson)\
**Post date:** [May 22, 2021, 5:49am UTC](https://forum.juce.com/t/creating-mac-installer-packages-from-ci/46132/5 "2021-05-22T05:49:05Z")

</div>

Thanks @baconpaul your installer scripts look like a great template for CI based plugin installers!!
