summaryrefslogtreecommitdiff
path: root/.github/workflows/windows_builds.yml
AgeCommit message (Collapse)Author
2022-11-11Add MSVC problem matcher to CIJosh Jones
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-04Various enhancements to Visual Studio solution generation.TechnoPorg
This adds support for building solutions with dev_mode and/or float=64 enabled. Additionally, it adds solution generation to the Windows CI to catch future regressions.
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-07-02Fix exit code of --help and --version, and test them in CIJan Haller
Corrects prior regression which caused ERROR output and exit code of 1.
2022-03-30CI: Reduce max cache to 7 GiB, remove Windows debug symbolsRémi Verschelde
GitHub Actions runners only have 14 GiB available, so we need to keep the cache constrained.
2022-03-28CI: Limit Windows cache size again, otherwise we run out of spaceRémi Verschelde
And force a full rebuild as the cache is now broken.
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-09-22CI: Build test binaries with debug symbols, then stripRémi Verschelde
This allows having good stacktraces when the tests crash.
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-05-19pywin32 is no longer necessary for SCons installBartłomiej T. Listwon
https://github.com/SCons/scons/releases/tag/4.1.0
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-02-13Use github actions cache not my own one.Gordon MacPherson
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-12-04CI: Shrink Windows cache to 3GB, we run out of disk spaceRémi Verschelde
2020-10-22CI: Set debug_symbols=no for template buildsRémi Verschelde
This keeps their size small and allows to compare size changes on templates in PRs, as the template size is what is most relevant to users. For editor builds we keep debug symbols so they can be used to debug crashes.
2020-10-16CI: Refactor build workflows to use `SCONSFLAGS`Andrii Doroshenko (Xrayez)
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-07-30CI: Show `tests=yes` for builds which run testsAndrii Doroshenko (Xrayez)
2020-07-25SCons: Add `tests` option to enable or disable unit testsAndrii Doroshenko (Xrayez)
2020-07-24t Add unit testing to Godot using DocTest and added to GitHub Actions CIRevoluPowered
Implements exit codes into the engine so tests can return their statuses. Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically. Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header. This lowers the complexity of running the unit tests and even for physics should be possible to implement such a fix.
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-21Split CI builds into workflows for each OSAaron Franke