summaryrefslogtreecommitdiff
path: root/.github/workflows/android_builds.yml
AgeCommit message (Collapse)Author
2023-02-06CI: Remove custom Linux deps and SwiftShaderRémi Verschelde
The default environment already includes everything we need to build all our configurations. Remove custom SwiftShader setup as lavapipe should now be good enough, but we need to install the latest one.
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