It has been observed that when entering game mode in the editor with the 10k levels, the Vulkan backend performs significantly worse compared to DX12 on Windows. These tests are intended to detect if either backend gets worse with a currently generous timeout of 3 minutes to complete (10 for the Vulkan outlier) and should lowered over time as this metric stabilizes. Added a new periodic tests job to specifically run on a GPU instance.
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
* Added tests in python to ensure interfaces used by PM exist and have the expected signature
Signed-off-by: nggieber <52797929+AMZN-nggieber@users.noreply.github.com>
* Fix crash if there is python error but no redirected output from python
Signed-off-by: nggieber <52797929+AMZN-nggieber@users.noreply.github.com>
* Add new line to end of tests file
Signed-off-by: nggieber <52797929+AMZN-nggieber@users.noreply.github.com>
* Initialize python bindings error count variable in if statement
Signed-off-by: nggieber <52797929+AMZN-nggieber@users.noreply.github.com>
* Call len() instead of __len__
Signed-off-by: nggieber <52797929+AMZN-nggieber@users.noreply.github.com>
* enable disabled repo tests
Signed-off-by: nggieber <52797929+AMZN-nggieber@users.noreply.github.com>
* Don't show ${Name} gems and fix template names
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
* Fix overlay size so it doesn't overlap parent border
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
* Hide warning when building
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
* Fix gem download fail due to param type change
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
* Restore missing functionionality for gem repos
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
* Use the parent's width for the gem inspector
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
* Restore regressed code for gem repos and folders
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
* Revert home folder override
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
Adding snapshot script, modify Jenkinsfile and build_config.json for each platform to use the snapshot tag
Signed-off-by: Mike Chang <changml@amazon.com>
* Implemented Support to allow project's to reference gems via the gem name
Updated the enable-gem command to add the name of the enabled gem to the "gem_names" array in the project.json
Updated the enable-gem test to validate this functionality
Centralized the CMake logic for locating external subdirectories to the Subdirectories.cmake script
Added an option to the edit-project-properties and edit-engine-properties o3de.py commands to add/remove/replace the "gem_names" field in the project.json and engine.json respectively
Added a CMake function to determine the root CMake "subdirectory" of any input path which is a parent of it.
This logic has been used to improve the installation of external gems to the <install-root>/External directory.
Tested out the install layout before submitting PR
fixes#7108
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed the enable-gem test on Linux to resolve the mock path.
Renamed all of the o3de python test from "unit_test*.py" to "test*.py" to faciliate the python unittest module picking up the test automatically.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding test for the disable_gem command.
Fixed some typos in engine_properties.py scrip.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
The manifest.py `get_all_templates` method was modified to add a call to
`get_all_gems` and `get_gem_templates`.
Those calls were not mocked, so they tried to load an o3de_manifest.json
file that was on user's machine, which failed on the CI node.
Also added a mock call for `load_o3de_manifest`, that validates that it
is not called to catch this issue during Automated Review.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixes for missing assets in the install folder
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* delayed expansion to try to fix project_engineinstall_profile
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Improvements to build scripts to solve the project build from the install folder
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
Added the NDK to the install list
Removed Android Java APIs prior to 28 from package list as they are unnecessary
Updated LY_NDK_DIR to point to the SDK manager version
Updated some inconsistencies in how the min Android native API is handled
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
Updates and fixes to support GCC for Linux
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* fix get_enabled_gem_cmake_file to work with "Dem" or "Code" or "Gem/Code" folder in a project
fix o3de_restricted_path to make the past paramter optional
Signed-off-by: byrcolin <byrcolin@amazon.com>
* Fix resolution of variables in `cmake_path(COMPARE)` calls in PAL.cmake
The documentation for `cmake_path(COMPARE)` states that parameters marked as [<input>](https://cmake.org/cmake/help/latest/command/cmake_path.html#conventions) are string literals.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Co-authored-by: byrcolin <byrcolin@amazon.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Templates/Restricted upgrade/fixes:
Fixed template storage format: templates now only store true relative paths and no longer save "origin" paths and "optional" has been removed, it was never used.
Upgraded all templates to new standard
Template system now correctly handles child objects: Child objects no longer have to specify restricted they inherit from parent
Restricted now operates at the object level and makes no assumptions about parent
Restricted templates can now be combined and seperated on creation
ly_get_list_relative_filename has been deprecated for o3de_pal_dir
All Gems/Projects/Templates updated to use new code
Signed-off-by: byrcolin <byrcolin@amazon.com>
* Fixed CMake use with Android NDK 23
This was done by only setting the `ANDROID_ARM_MODE` if the ANDROID_ABI
starts with `armeabi`.
The Android arm mode setting can't be used using non-`armeabi` ABIs.
In O3DE we default to `arm64-v8a` `ANDROID_ABI`
So `ANDROID_ARM_MODE` must not be set.
The CMake [Android-Determine.cmake](https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Platform/Android-Determine.cmake#L573-585) which is used to detect platform-wide information when the CMAKE_SYSTEM_NAME is set to android, enforces that if the `CMAKE_ANDROID_ARCH_ABI` doesn't start with `armeabi`, then it will fatal error if the CMAKE_ANDROID_ARM_MODE option is set.
In Android NDK 21 the `ANDROID_ARM_MODE` variable is used to set the CMAKE_ANDROID_ARM_MODE variable if the [ANDROID_ABI](https://android.googlesource.com/platform/ndk/+/refs/tags/ndk-r21e/build/cmake/android.toolchain.cmake#700) starts with `armeabi`.
This meant when using Android NDK 21, the CMake Android-Determine.cmake module would succeed, due
to the CMAKE_ANDROID_ARM_MODE not being set.
In Android NDK 23 the `ANDROID_ARM_MODE` now will set the
`CMAKE_ANDROID_ARM_MODE` variable to `TRUE` if it isn't defined.
Added an `--extra-cmake-configure-args` option to the `generate_android_project.py` script which can be used to append user specified CMake arguments to the cmake configure step (`cmake -B <build-dir> -S <source-dir> -DCMAKE_TOOLCHAIN_FILE=<android-toolchain-file> <extra-args>`)
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the O3DE Android toolchain wrapper to fatal error if the 64-bit
arm ABI isn't used.
Also removed the unneccessary setting of the ANDROID_ARM_MODE and
ANDROID_ARM_NEON option option now that the armeabi cannot be specified
as an ABI.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Some fixes for paths with spaces
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* PR comments
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>