I’ve just now added a first CI (continuous integration, a.k.a “autobuilder”) script to one of our extensions, extension-websocket. Having such a script makes it easier for us to verify that the extension builds properly for each platform after each commit we make to the repository. It also helps us make sure that the extension builds between Defold versions. The plan is to add such a script to all our supported extensions.
The script currently does these things:
Find the stable version of Defold
Download bob.jar
Resolve dependencies
Build the extension (i.e. the sample project)
Bundle the example project
This script is triggered on each push/pull request, but it’s also scheduled to build twice a month, to make sure the code doesn’t grow old between released Defold versions.
How to add the script to my native extension
The script is written to be very low maintenance, and could be used as-is.
Copy the bob.yml file into your repository, to .github/workflows/bob.yml, commit the file and push to your repository.
You can see the builds under the “Actions” tab in the github repo: example
Note, if you copy this script, it might be good if you change the cron job to some different time or date, as to not crowd the build server all at once
On my local machine, I can compile fine.
The problem seems to be coming from the firebase extension, how come the build behaviour is different on the CI server than on my machine?