summaryrefslogtreecommitdiffstats
path: root/.github/workflows/windows_builds.yml
Commit message (Collapse)AuthorAgeFilesLines
* Rebrand Godot 4.3 to RedotTrashguy2024-10-131-2/+10
|
* Bump version to 4.3.1-rcRémi Verschelde2024-08-151-1/+1
| | | | And update CI base branch to 4.3.
* [CI] Run unit tests on desktop release templatesA Thousand Ships2024-07-181-3/+3
|
* [CI] Upload build cache before running testsA Thousand Ships2024-07-131-2/+8
| | | | | | This improves turnaround time on large PRs where compilation is successful but unit testing or similar fails, forcing recompilation of unchanged code
* [CI] Enable ANGLE static linking.bruvzg2024-05-281-1/+12
|
* SCons: Bump min version to 3.1.2, test it on CI with one Linux jobRémi Verschelde2024-05-171-1/+1
| | | | | | | | | | | The min SCons version had to be bumped as SCons 3.0 before 3.0.3 seems broken (see #92043), and there's little gain from supporting 3.0.3-3.0.5. 3.1.2 is also the first version to avoid ambiguities between Python 2 and Python 3 usage, so we finally use it as the minimum baseline. Also test against Python 3.6 which is also our minimum supported version. This should help prevent regressions whenever we modernize the build scripts.
* CI: Enable submodules on the checkout actionAaron Franke2024-03-151-0/+2
|
* Add new VS proj generation logic that supports any platform that wants to opt inAndreia Gaita2024-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Custom Visual Studio project generation logic that supports any platform that has a msvs.py script, so Visual Studio can be used to run scons for any platform, with the right defines per target. Invoked with `scons vsproj=yes` To generate build configuration files for all platforms+targets+arch combinations, users should call ``` scons vsproj=yes platform=XXX target=YYY [other build flags] ``` for each combination of platform+target[+arch]. This will generate the relevant vs project files but skip the build process, so that project files can be quickly generated without waiting for a command line build. This lets project files be quickly generated even if there are build errors. All possible combinations of platform+target are created in the solution file by default, but they won't do anything until each one is set up with a scons vsproj=yes command for the respective platform in the appropriate command line. This lets users only generate the combinations they need, and VS won't have to parse settings for other combos. Only platforms that opt in to vs proj generation by having a msvs.py file in the platform folder are included. Platforms with a msvs.py file will be added to the solution, but only the current active platform+target+arch will have a build configuration generated, because we only know what the right defines/includes/flags/etc are on the active build target currently being processed by scons. Platforms that don't support an editor target will have a dummy editor target that won't do anything on build, but will have the files and configuration for the windows editor target. To generate AND build from the command line, run ``` scons vsproj=yes vsproj_gen_only=no ```
* Add a python script to install Direct3D 12 SDK components.MrBBBaiXue2024-01-241-22/+3
| | | | | | | | | | | | | | | This makes it much faster to get started with Direct3D 12 builds, as you only need to run `python .\misc\scripts\install_d3d12_sdk_windows.py` then run `scons d3d12=yes`. This installs DirectX Shader Compiler, Mesa NIR, WinPixEventRuntime and DirectX 12 Agility SDK. - Define a default path that uses the locations from the script. - Now the default path is in "%LOCALAPPDATA%\Godot\build_deps\" - Updated CI to use this new python script. Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
* Add Direct3D 12 RenderingDevice implementationPedro J. Estébanez2023-12-121-1/+23
|
* Use colored output on CI for DoctestHugo Locurcio2023-10-281-1/+1
| | | | | GitHub Actions output is not considered a TTY, so colored output must be forced.
* CI: Bump version for `actions/checkout@v4` and `actions/setup-dotnet@v3`Rémi Verschelde2023-09-041-1/+1
|
* CI: Extract godot-cpp testing into its own jobYuri Sizov2023-08-011-8/+8
| | | | | | | | | | This ensures that the godot-cpp job has plenty of resources to run its build and avoid being affected by the main build. Additionally: - Extract test tasks into dedicated actions. - Upload artifacts as early as possible. - Ensure that we check master cache before random cache.
* CI: Use GODOT_BASE_BRANCH for the godot-cpp checkoutRémi Verschelde2023-05-181-1/+1
|
* CI: Fix running the unit tests on windowsRedworkDE2023-05-101-1/+1
|
* [ci/windows] remove obsolete 'tools' in the nameumarcor2023-04-051-1/+1
|
* ci: wait for static check results before starting buildsyedpodtrzitko2023-04-041-1/+2
|
* Add MSVC problem matcher to CIJosh Jones2022-11-111-1/+3
|
* Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg2022-10-071-1/+1
| | | | change warnings=all to use /W4.
* Various enhancements to Visual Studio solution generation.TechnoPorg2022-10-041-1/+1
| | | | | 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.
* SCons: Unify tools/target build type configurationRémi Verschelde2022-09-261-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* CI: Bump various GitHub actions to latest versionsRémi Verschelde2022-08-251-2/+2
| | | | | | | | | | | | 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.
* Unify bits, arch, and android_arch into env["arch"]Aaron Franke2022-08-251-1/+1
| | | | | | Fully removes the `bits` option and adapts the code that relied on it. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Fix exit code of --help and --version, and test them in CIJan Haller2022-07-021-0/+2
| | | | Corrects prior regression which caused ERROR output and exit code of 1.
* CI: Reduce max cache to 7 GiB, remove Windows debug symbolsRémi Verschelde2022-03-301-1/+2
| | | | | GitHub Actions runners only have 14 GiB available, so we need to keep the cache constrained.
* CI: Limit Windows cache size again, otherwise we run out of spaceRémi Verschelde2022-03-281-1/+2
| | | | And force a full rebuild as the cache is now broken.
* CI: Update to actions/cache@v3, increase cache limit to 10 GiBRémi Verschelde2022-03-231-1/+1
| | | | And force rebuild of Linux cache which got corrupted...
* CI: Build test binaries with debug symbols, then stripRémi Verschelde2021-09-221-2/+7
| | | | This allows having good stacktraces when the tests crash.
* [CI] Refactor CI actions, use sub-actions, matrices.Fabio Alessandrelli2021-09-141-108/+51
|
* Fix CI after concurrencyMax Hilbrunner2021-08-251-1/+1
|
* CI: Cancel previous builds if new commit is pushedMax Hilbrunner2021-08-251-0/+4
|
* Fix github actions cache server being down failing buildsGordon MacPherson2021-08-181-0/+2
|
* pywin32 is no longer necessary for SCons installBartłomiej T. Listwon2021-05-191-2/+2
| | | | https://github.com/SCons/scons/releases/tag/4.1.0
* CI: Build without debug symbols to reduce cache sizeRémi Verschelde2021-02-221-2/+2
| | | | | | | | | 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.
* Use github actions cache not my own one.Gordon MacPherson2021-02-131-1/+1
|
* CI: Force building TextServer fallbackRémi Verschelde2020-12-291-1/+1
| | | | | 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.
* CI: Shrink Windows cache to 3GB, we run out of disk spaceRémi Verschelde2020-12-041-1/+1
|
* CI: Set debug_symbols=no for template buildsRémi Verschelde2020-10-221-1/+1
| | | | | | | 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.
* CI: Refactor build workflows to use `SCONSFLAGS`Andrii Doroshenko (Xrayez)2020-10-161-3/+4
|
* CI: upload artifactsumarcor2020-10-151-16/+10
| | | | Set retention-days of all artifacts to 14.
* CI: List contents of bin/ after buildRémi Verschelde2020-10-151-0/+2
| | | | | This can be used to compare impacts on the generated files and especially their size in PRs.
* GitHub Actions: Prepend emoji to platform names for easy visual greppingHugo Locurcio2020-08-231-1/+1
|
* CI: Show `tests=yes` for builds which run testsAndrii Doroshenko (Xrayez)2020-07-301-1/+1
|
* SCons: Add `tests` option to enable or disable unit testsAndrii Doroshenko (Xrayez)2020-07-251-1/+1
|
* t Add unit testing to Godot using DocTest and added to GitHub Actions CIRevoluPowered2020-07-241-0/+5
| | | | | | | | | | 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.
* CI: Fix cache key and include base branchRémi Verschelde2020-07-241-13/+13
| | | | | | | | | 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.)
* Improve the cache keys to prevent clashes for the wrong type of buildGordon MacPherson2020-07-241-8/+8
|
* Clamp scons cache to 4096 MBGordon MacPherson2020-07-241-1/+1
|
* Split CI builds into workflows for each OSAaron Franke2020-07-211-0/+118