summaryrefslogtreecommitdiff
path: root/.github/workflows/android_builds.yml
AgeCommit message (Collapse)Author
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
2022-08-25CI: Bump various GitHub actions to latest versionsRémi Verschelde
actions/cache@v3 actions/checkout@v3 actions/upload-artifact@v3 actions/setup-dotnet@v2 actions/setup-java@v3 actions/setup-python@v4 mymindstorm/setup-emsdk@v11 Also reset cache keys as we're going to cleanup all caches.
2022-08-25Unify bits, arch, and android_arch into env["arch"]Aaron Franke
Fully removes the `bits` option and adapts the code that relied on it. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-03-23CI: Update to actions/cache@v3, increase cache limit to 10 GiBRémi Verschelde
And force rebuild of Linux cache which got corrupted...
2021-10-09Update Android CI to use JDK 11.Marcel Admiraal
2021-09-14[CI] Refactor CI actions, use sub-actions, matrices.Fabio Alessandrelli
2021-08-25Fix CI after concurrencyMax Hilbrunner
2021-08-25CI: Cancel previous builds if new commit is pushedMax Hilbrunner
2021-08-18Fix github actions cache server being down failing buildsGordon MacPherson
2021-06-07Don't install Android NDK in CIMarcel Admiraal
2021-05-19CI: Install Android NDK 21.4.7075529Rémi Verschelde
This is the version mandated by Godot's gradle setup anyway so it would get installed when running gradlew. Now we pre-install the correct version.
2021-02-22CI: Build without debug symbols to reduce cache sizeRémi Verschelde
We often hit "Too Many Requests" errors when uploading the cache with `actions/cache` because there's a limit of 10 GB every 5 minutes, and we can easily go over it when we amend or merge several PRs in a short timespan. This will make the CI artifacts less useful for debugging crashes but there's no real way around this.
2021-01-12CI: Pin Android NDK r21 as we don't support r22 yetRémi Verschelde
2020-12-29CI: Force building TextServer fallbackRémi Verschelde
It's normally opt-in as the advanced one (CTL support) is the default, but we need to build it to catch potential build issues.
2020-11-09CI: Build with warnings=extra to catch 'em allRémi Verschelde
... on all platforms but MSVC, as it still has a number of unsolved warnings in its `/Wall` level. Some of it might be valid, others might be overkill, this needs further assessment and fixes. (We could also change the `extra` level to `/W4` on MSVC if that's more meaningful.)
2020-10-22CI: Refactor Android workflow, use pre-installed SDK and NDKRémi Verschelde
No need to waste time downloading all this when it's readily available :) Also use the official action to setup Java 8. Also build both architectures (armv7 and arm64v8) and generate the APK, so we can upload it. Remove now unused and outdated `misc/ci/android-tools-linux.sh`.
2020-10-16CI: Refactor build workflows to use `SCONSFLAGS`Andrii Doroshenko (Xrayez)
2020-10-16ci: do not use set-envumarcor
2020-10-15CI: upload artifactsumarcor
Set retention-days of all artifacts to 14.
2020-10-15CI: List contents of bin/ after buildRémi Verschelde
This can be used to compare impacts on the generated files and especially their size in PRs.
2020-08-23GitHub Actions: Prepend emoji to platform names for easy visual greppingHugo Locurcio
2020-08-11CI: Properly exclude Azure repositories on UbuntuRémi Verschelde
Nuke all the pre-defined repos, we just need stock Ubuntu.
2020-07-24CI: Fix cache key and include base branchRémi Verschelde
The base branch is hardcoded as an env variable as I couldn't find a simple way to just get either `3.2` or `master`. But it's easy to change when we branch off from `master` to a new stable branch, which doesn't happen often. (There's `{{github.base_ref}}` but it's probably more verbose like `ref/heads/master`, and only valid for PRs.)
2020-07-24Improve the cache keys to prevent clashes for the wrong type of buildGordon MacPherson
2020-07-24Clamp scons cache to 4096 MBGordon MacPherson
2020-07-23CI: Added Android GitHub Actionthebestnom