Hi, I would like to create continuous integration and deployment builds of code that uses the FMOD engine API, and for that I would need to have FMOD installed on the runner doing the building. Are there any best-practices for doing this that don’t involve requiring redistributing the installer or the binary + API itself (the latter of which I believe is against the TOS)?
The website requires being logged in to download it, and so I am hoping for a way that I can possibly generate an Auth token or something that will allow me to curl the installer from a canonical fmod address, so that this can be done as part of the build process in a GitHub Workflow. If it can’t be downloaded, what is the recommendation? Am I allowed to redistribute the installer in a repository?
I would use prebuilt docker image with it, except I want this for both Windows and macOS builds. Any help would be appreciated!
Hi, we don’t permit redistribution of the installer.
For games we allow the distribution of the fmod dll only.
For some cases we can allow the /inc and /lib files to be distributed, the bare minimum to be able to compile if that is the requirement. No documentation or examples should be included, and there should be a disclaimer on the engine side to mention that the distributed files are not the official FMOD distribution and point the user where to download the official release (www.fmod.com/download).
For my current use-case, I would like to have continuous integration set up in a way that can build and test against FMOD. Since you mentioned that inc/ and lib/ are acceptable to distribute for the purposes of compiling, what is the best and compliant-way to accomplish this?
Am I allowed to host just the inc/ and lib/ dirs, provided there is the disclaimer you mention, or is there some “official” hosting that can be accessed by terminal in some capacity? It’s the “by terminal” requirement that seems to complicated things right now… I know that www.fmod.com/download can be used to download the installers manually, but this isn’t friendly for terminals or by extension CI, from the looks of it, since it requires navigating login pages and it connects to an opaque cloudfront hosting URL.
Is there some URL or API I can download from with a curl command using an auth token or with my FMOD credentials such that I can just download the inc/ and lib/ for a particular version from an official source? If not, what do you suggest?
I don’t own the runner host (GitHub public runners) and so I can’t do this. I could automate this process, but it requires the installer – which I can’t redistribute, or download easily from a terminal (see previous responses). Or are you suggesting I check-in the lib and inc content into my version control (git) directly? Is that allowed?
I am building an open source integration of FMOD for the bevy game engine.
I would also be interested in having some CI for our pull requests to run tests on. An API download, maybe even with credentials, would be nice to have for CI. Maybe also with the ability to download different versions of the FMOD libraries to compile against and ensure compatibility with our integration.
Checking in the libraries directly would be the simple solution, but there is uncertainty about whether its permitted to host the dynamic libraries (*.dll, *.dynlib, *.so, etc.) in a public repository.