I just wanted to add a few things:
Although we don’t have a true headless option, the link @timreyes posted shows how to make sure the software can run on a headless Linux machine.
Unfortunately the automation API does not expose a way to set the custom analyzer directory, but you have a few options for handling this.
- If you can run the software manually on the CI machine & with the CI user account, you can set the custom analyzer directory manually. That setting is persisted, so future automated runs will use your path.
- The software creates and stores its configuration in
~/.config/Logic/config.json. This includes the custom analyzer directory, which is stored in the key ``. You could copy your local config.json file into your CI environment (which could be done during each CI run before you launch Logic). You can even override the directory the software will use, as outline here: Another location of Presets (Config.json) (configurable?) - #3 by markgarrison - You could avoid needing to set the analyzer directory completely by extracting the Logic 2 software from the AppImage, adding your analyzer to the analyzers, directory, then using the extracted copy in your CI environment. You can extract the AppImage with
./Logic-2.4.39-linux-x64.AppImage --appimage-extractThis will extract the contents of the AppImage to a new directory calledsquash-fs. The Logic binary in that directory can be run to launch the software, and the built-in analyzers are stored in resources/linux-x64/Analyzers (or something like that, I don’t have it up in front of me) you can add your analyzer to that directory. Then when you run the Logic binary, your analyzer will be available, without needing to set the analyzer directory.
If you have any trouble with this, please let us know, and share more details about your configuration! Today, we run our Logic 2 software & automation in CI, on Linux and other platforms, to verify that the automation interface works properly.