Home

Awesome

godot-cpp-ci

Docker image and Github Actions to automatically compile Godot C++ GDExtension libraries.

Github Actions:

🏁 Windows Builds 🐧 Linux Builds 🍎 macOS Builds 🍏 iOS Builds 🤖 Android Builds 🌐 Web Builds

Exported HMTL5 build is deployed here.

Gitlab Runners:

Pipeline Status

Heavily inspired and based on both the CI/CD provided by godot-ci and the automated workflow of Godot itself.

Docker Hub

https://hub.docker.com/r/ponders/godot-cpp-ci/

Gitlab Mirror

This repository is mirrored to Gitlab here.

How To Use

.gitlab-ci.yml and .github/workflows/*.yml are included in this project as reference. In most cases, just copying them to your own repository does the job.

Android

For android compilation purposes, a special Android.mk-file as well as a jni/Application.mk-file are included in the gdnative_cpp_example-folder.

Again, those files need to be copied and modified for your own repository purposes.

Availability Matrix

GithubGitlab
Windows:heavy_check_mark::heavy_check_mark:
Linux:heavy_check_mark::heavy_check_mark:
macOS:heavy_check_mark::x:
iOS:heavy_check_mark::x:
Android:heavy_check_mark::x:
Web:heavy_check_mark::x:

Frequently Asked Questions (FAQ)

1. Why is the version of Emscripten set to 3.1.64 and not to the lastest one?

Later versions of Emscripten might introduce breaking changes that are not compatible with the Godot API.
The Emscripten version used by Godot can be checked here:
https://github.com/godotengine/godot/blob/master/.github/workflows/web_builds.yml

2. Can be thread support be enabled for GitHub pages?

No, unless Github pages starts supporting SharedArrayBuffer in a future update.