Skip to content

Commit

Permalink
Merge branch 'simple-performance-test' into performance-test-tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
csciguy8 committed Sep 8, 2023
2 parents 7562b49 + 705c628 commit 98397dd
Show file tree
Hide file tree
Showing 8 changed files with 118 additions and 31 deletions.
29 changes: 28 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,15 @@ jobs:
with:
name: CesiumForUnreal-50-windows-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Unreal Marketplace Workaround
run: |
# The UE Marketplace deletes our Intermediates directory and fails to produces new
# intermediates for the Linux platform. The Marketplace team has suggested we copy
# them to the LinuxIntermediate directory instead, as a workaround. Users still have
# to move these files to the correct place manually, though, in order for Linux builds
# to succeed.
mkdir -p combine/CesiumForUnreal/LinuxIntermediate/Build/Linux
cp -r combine/CesiumForUnreal/Intermediate/Build/Linux/* combine/CesiumForUnreal/LinuxIntermediate/Build/Linux
- name: Publish combined package artifact
if: ${{ success() }}
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -467,6 +476,15 @@ jobs:
with:
name: CesiumForUnreal-51-windows-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Unreal Marketplace Workaround
run: |
# The UE Marketplace deletes our Intermediates directory and fails to produces new
# intermediates for the Linux platform. The Marketplace team has suggested we copy
# them to the LinuxIntermediate directory instead, as a workaround. Users still have
# to move these files to the correct place manually, though, in order for Linux builds
# to succeed.
mkdir -p combine/CesiumForUnreal/LinuxIntermediate/Build/Linux
cp -r combine/CesiumForUnreal/Intermediate/Build/Linux/* combine/CesiumForUnreal/LinuxIntermediate/Build/Linux
- name: Publish combined package artifact
if: ${{ success() }}
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -642,7 +660,7 @@ jobs:
name: ${{ env.BUILD_CESIUM_UNREAL_PACKAGE_NAME}}
path: packages
iOS52:
runs-on: macos-13
runs-on: macos-12
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand Down Expand Up @@ -727,6 +745,15 @@ jobs:
with:
name: CesiumForUnreal-52-windows-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Unreal Marketplace Workaround
run: |
# The UE Marketplace deletes our Intermediates directory and fails to produces new
# intermediates for the Linux platform. The Marketplace team has suggested we copy
# them to the LinuxIntermediate directory instead, as a workaround. Users still have
# to move these files to the correct place manually, though, in order for Linux builds
# to succeed.
mkdir -p combine/CesiumForUnreal/LinuxIntermediate/Build/Linux
cp -r combine/CesiumForUnreal/Intermediate/Build/Linux/* combine/CesiumForUnreal/LinuxIntermediate/Build/Linux
- name: Publish combined package artifact
if: ${{ success() }}
uses: actions/upload-artifact@v3
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/buildWindows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,22 @@ jobs:
$env:BUILD_CESIUM_UNREAL_PACKAGE_PATH="$env:GITHUB_WORKSPACE/packages/CesiumForUnreal"
$env:UNREAL_BATCH_FILES_PATH="${{ inputs.unreal-batch-files-path }}"
# Store temp files on the D drive, which is much faster than the EBS-backed C drive.
mkdir -p d:\cesium\temp
$env:TEMP="d:\cesium\temp"
# Make these available to subsequent steps
echo "BUILD_CESIUM_UNREAL_PACKAGE_NAME=${env:BUILD_CESIUM_UNREAL_PACKAGE_NAME}" >> $env:GITHUB_ENV
echo "BUILD_CESIUM_UNREAL_PACKAGE_PATH=${env:BUILD_CESIUM_UNREAL_PACKAGE_PATH}" >> $env:GITHUB_ENV
echo "UNREAL_BATCH_FILES_PATH=${env:UNREAL_BATCH_FILES_PATH}" >> $env:GITHUB_ENV
echo "TEMP=${env:TEMP}" >> $env:GITHUB_ENV
# Confirm vars to the console
echo ""
echo BUILD_CESIUM_UNREAL_PACKAGE_NAME=$env:BUILD_CESIUM_UNREAL_PACKAGE_NAME
echo BUILD_CESIUM_UNREAL_PACKAGE_PATH=$env:BUILD_CESIUM_UNREAL_PACKAGE_PATH
echo UNREAL_BATCH_FILES_PATH=$env:UNREAL_BATCH_FILES_PATH
echo TEMP=$env:TEMP
- name: Install nasm
uses: ilammy/[email protected]
- name: Build cesium-native
Expand All @@ -57,11 +63,12 @@ jobs:
- name: Build CesiumForUnreal plugin
timeout-minutes: 120
run: |
echo "Temp directory: $env:TEMP"
cd "$env:UNREAL_BATCH_FILES_PATH"
./RunUAT.bat BuildPlugin -Plugin="$env:GITHUB_WORKSPACE/CesiumForUnreal.uplugin" -Package="$env:BUILD_CESIUM_UNREAL_PACKAGE_PATH" -CreateSubFolder -TargetPlatforms=Win64
- name: Upload plugin artifact
if: ${{ success() }}
uses: actions/upload-artifact@v3
with:
name: ${{ env.BUILD_CESIUM_UNREAL_PACKAGE_NAME}}
path: packages
path: packages
85 changes: 60 additions & 25 deletions .github/workflows/testWindows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,48 +61,83 @@ jobs:
dir
Get-Content "CesiumForUnreal.uplugin" | select-string -pattern "EngineVersion"
- name: Run Cesium tests
continue-on-error: true
timeout-minutes: 30
timeout-minutes: 60
run: |
cd "${{ inputs.unreal-binaries-path }}"
./UnrealEditor-Cmd.exe "$env:TESTS_PROJECT_ROOT/TestsProject.uproject" -execcmds="Automation RunTests Cesium.Unit.;quit" -nullrhi -unattended -nosplash -ReportExportPath="$env:TESTS_PROJECT_LOGS"
- name: Display tests log
if: always()
run: |
cd "$env:TESTS_PROJECT_LOGS"
dir
Get-Content TestsProject.log
- name: Display tests report
if: always()
run: |
cd "$env:TESTS_PROJECT_LOGS"
Get-Content index.json
- name: Evaluate tests results
if: always()
run: |
$env:TEST_STATUS="Pending"
echo "test_status=$env:TEST_STATUS" >> $env:GITHUB_ENV
cd "$env:TESTS_PROJECT_LOGS"
# Define function to parse json recursively
function Parse-JsonRecursively($jsonObject) {
foreach ($property in $jsonObject.PSObject.Properties) {
$name = $property.Name
$value = $property.Value
$failedTests = ""
$succeededTests = ""
function Parse-Test($jsonObject) {
$currTestName = ""
foreach ($property in $jsonObject.PSObject.Properties) {
$name = $property.Name
$value = $property.Value
if($name -eq "fullTestPath") {
$currTestName = $value
}
if($name -eq "state") {
if ($value -eq "Success") {
$global:succeededTests += $currTestName + "`n"
}
else {
$global:failedTests += $currTestName + "`n"
}
}
}
}
function Parse-Json($jsonObject) {
foreach ($property in $jsonObject.PSObject.Properties) {
$name = $property.Name
$value = $property.Value
# If the property value is another object, call function recursively
if ($value -is [PSCustomObject]) {
Parse-JsonRecursively($value)
}
else {
# If "state:fail" entry is found in json, set failure state
if($name -eq "state" -and $value -eq "fail") {
$env:TEST_STATUS="Failure"
return
}
}
}
# If the property value is another object, call function recursively
if ($name -eq "tests" -and $value -is [System.Object[]]) {
for (($i = 0); $i -lt $value.Count; $i++) {
Parse-Test($value[$i])
}
}
}
}
$env:TEST_STATUS="Success" # Set status to success at start
$json = Get-Content -Path 'index.json' | ConvertFrom-Json # Read in json
Parse-JsonRecursively -jsonObject $json # Parse json
echo "test_status=$env:TEST_STATUS" >> $env:GITHUB_ENV # Export result to github environment variables
Parse-Json -jsonObject $json # Parse json
echo " "
if ($failedTests.Length -eq 0) {
echo "All tests passed:"
echo "-----------------"
echo "$succeededTests"
exit 0
}
else {
echo "Passing tests:"
echo "--------------"
echo "$succeededTests"
echo "FAILED tests:"
echo "-------------"
echo "$failedTests"
exit -1
}
8 changes: 8 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,14 @@
- `ACesiumGeoreference`, `ACesiumCameraManager`, and `ACesiumCreditSystem` are now created in the Persistent Level, even if the object that triggered their automatic creation (such as `ACesium3DTileset`) exists in a sub-level. It is very rarely useful to have instances of these objects within a sub-level.
- An instance of `ACesiumCreditSystem` in a sub-level will no longer cause overlapping and broken-looking credits. However, we still recommend deleting credit system instances from sub-levels.

### v1.30.1 - 2023-09-03

This release fixes an important bug by updating [cesium-native](https://github.com/CesiumGS/cesium-native) from v0.27.0 to v0.27.1. See the [changelog](https://github.com/CesiumGS/cesium-native/blob/main/CHANGES.md) for a complete list of changes in cesium-native.

### v1.30.0 - 2023-09-01

This release updates [cesium-native](https://github.com/CesiumGS/cesium-native) from v0.26.0 to v0.27.0. See the [changelog](https://github.com/CesiumGS/cesium-native/blob/main/CHANGES.md) for a complete list of changes in cesium-native.

### v1.29.0 - 2023-08-01

##### Fixes :wrench:
Expand Down
4 changes: 2 additions & 2 deletions CesiumForUnreal.uplugin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"FileVersion": 3,
"Version": 47,
"VersionName": "1.29.0",
"Version": 49,
"VersionName": "1.30.1",
"FriendlyName": "Cesium for Unreal",
"Description": "Unlock the 3D geospatial ecosystem in Unreal Engine with real-world 3D content and a high accuracy full-scale WGS84 globe.",
"Category": "Geospatial",
Expand Down
10 changes: 10 additions & 0 deletions Config/FilterPlugin.ini
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,13 @@
/Shaders/*
/Intermediate/Build/Linux/*
/Binaries/Linux/*
/LinuxIntermediate/Build/Linux/UnrealEditor/Inc/CesiumEditor/UHT/*
/LinuxIntermediate/Build/Linux/UnrealEditor/Inc/CesiumRuntime/UHT/*
/LinuxIntermediate/Build/Linux/UnrealGame/Development/CesiumRuntime/*
/LinuxIntermediate/Build/Linux/UnrealGame/Inc/CesiumRuntime/UHT/*
/LinuxIntermediate/Build/Linux/UnrealGame/Shipping/CesiumRuntime/*
/LinuxIntermediate/Build/Linux/x64/UnrealGame/Development/CesiumRuntime/*
/LinuxIntermediate/Build/Linux/x64/UnrealGame/Shipping/CesiumRuntime/*
/LinuxIntermediate/Build/Linux/B4D820EA/UnrealGame/Development/CesiumRuntime/*
/LinuxIntermediate/Build/Linux/B4D820EA/UnrealGame/Inc/CesiumRuntime/UHT/*
/LinuxIntermediate/Build/Linux/B4D820EA/UnrealGame/Shipping/CesiumRuntime/*
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cesium-unreal",
"version": "1.29.0",
"version": "1.30.1",
"description": "Cesium for Unreal",
"main": "index.js",
"directories": {
Expand Down

0 comments on commit 98397dd

Please sign in to comment.