Skip to content

Merge branch 'main' into for-each-renderable-tile #2039

Merge branch 'main' into for-each-renderable-tile

Merge branch 'main' into for-each-renderable-tile #2039

Workflow file for this run

name: Cesium for Unreal
on: [push, workflow_dispatch]
jobs:
QuickChecks:
name: "Quick Checks"
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Check source formatting
run: |
npm install
npm run format -- --dry-run -Werror
Documentation:
runs-on: ubuntu-latest
steps:
- name: Install Doxygen
run: |
sudo apt install -y doxygen
- name: Check out repository code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Generate Documentation
run: |
doxygen ./Documentation/Doxyfile
- name: Publish Documentation Artifact
if: ${{ success() }}
uses: actions/upload-artifact@v4
with:
name: ReferenceDocumentation
path: Documentation/Reference
Windows52:
uses: ./.github/workflows/buildWindows.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-version: "5.2.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.2.1/UE_5.2.1.zip"
unreal-program-name: "UE_5.2"
upload-package-base-name: "CesiumForUnreal-52-windows"
# These are specified in the Unreal Engine release notes under "IDE Version the Build farm compiles against"
# and using them ensures we're compiling our plugin in the exact same way that Unreal Engine itself is compiled.
cmake-generator: "Visual Studio 17 2022"
cmake-toolchain: "version=14.34"
cmake-platform: "x64,version=10.0.18362.0"
visual-studio-version: "2022"
visual-studio-components: "Microsoft.VisualStudio.Component.VC.14.34.17.4.x86.x64,Microsoft.VisualStudio.Component.Windows10SDK.18362"
TestWindows52:
needs: [Windows52]
uses: ./.github/workflows/testWindows.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-zip: "s3://cesium-unreal-engine/5.2.1/UE_5.2.1.zip"
unreal-program-name: "UE_5.2"
test-package-base-name: "CesiumForUnreal-52-windows"
Android52:
uses: ./.github/workflows/buildAndroid.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-version: "5.2.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.2.1/UE_5.2.1.zip"
unreal-program-name: "UE_5.2"
upload-package-base-name: "CesiumForUnreal-52-android"
android-ndk-version: "r25b"
Linux52:
uses: ./.github/workflows/buildLinux.yml
secrets: inherit
with:
runner-label: ubuntu-22.04
unreal-engine-version: "5.2.0"
unreal-engine-zip: "s3://cesium-unreal-engine/Linux_Unreal_Engine_5.2.0.zip"
unreal-program-name: "UE_5.2"
upload-package-base-name: "CesiumForUnreal-52-linux"
clang-version: "v21_clang-15.0.1-centos7"
Apple52:
uses: ./.github/workflows/buildApple.yml
secrets: inherit
with:
runner-label: macos-14
unreal-engine-version: "5.2.0"
unreal-engine-zip: "s3://cesium-unreal-engine/UE_52_macOS.zip"
unreal-program-name: "UE_5.2"
upload-package-base-name: "CesiumForUnreal-52-apple"
xcode-version: "14.3.1"
Combine52:
runs-on: ubuntu-latest
needs: [Windows52, Linux52, Android52, Apple52]
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Set environment variables
run: |
export CESIUM_UNREAL_VERSION=$GITHUB_REF_NAME
export BUILD_CESIUM_UNREAL_PACKAGE_NAME="CesiumForUnreal-52-${CESIUM_UNREAL_VERSION}"
export BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME="CesiumForUnreal-52-SourceOnly-${CESIUM_UNREAL_VERSION}"
# Make these available to subsequent steps
echo "CESIUM_UNREAL_VERSION=$CESIUM_UNREAL_VERSION" >> $GITHUB_ENV
echo "BUILD_CESIUM_UNREAL_PACKAGE_NAME=$BUILD_CESIUM_UNREAL_PACKAGE_NAME" >> $GITHUB_ENV
echo "BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME=$BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME" >> $GITHUB_ENV
- name: Download Apple build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-52-apple-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Download Android build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-52-android-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Download Linux build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-52-linux-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Download Windows build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-52-windows-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Publish combined package artifact
if: ${{ success() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_CESIUM_UNREAL_PACKAGE_NAME}}
path: combine
- name: Publish combined package artifact for the Unreal Marketplace
if: ${{ success() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME}}
path: |
combine
# These are built by Epic, and including them seems to confuse their process.
!combine/CesiumForUnreal/Binaries/**/*
!combine/CesiumForUnreal/Intermediate/**/*
TestPackage52:
needs: [Combine52]
uses: ./.github/workflows/testPackageOnWindows.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-zip: "s3://cesium-unreal-engine/5.2.1/UE_5.2.1.zip"
unreal-program-name: "UE_5.2"
unreal-engine-association: "5.2"
test-package-base-name: "CesiumForUnreal-52"
visual-studio-version: "2022"
visual-studio-components: "Microsoft.VisualStudio.Component.VC.14.34.17.4.x86.x64,Microsoft.VisualStudio.Component.Windows10SDK.18362"
Windows53:
uses: ./.github/workflows/buildWindows.yml
secrets: inherit
with:
runner-label: "windows-2022"
unreal-engine-version: "5.3.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.3.0/UE_5.3.zip"
unreal-program-name: "UE_5.3"
upload-package-base-name: "CesiumForUnreal-53-windows"
# These are specified in the Unreal Engine release notes under "IDE Version the Build farm compiles against"
# and using them ensures we're compiling our plugin in the exact same way that Unreal Engine itself is compiled.
cmake-generator: "Visual Studio 17 2022"
cmake-toolchain: "version=14.34"
cmake-platform: "x64,version=10.0.18362.0"
visual-studio-version: "2022"
visual-studio-components: "Microsoft.VisualStudio.Component.VC.14.34.17.4.x86.x64,Microsoft.VisualStudio.Component.Windows10SDK.18362"
TestWindows53:
needs: [Windows53]
uses: ./.github/workflows/testWindows.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-zip: "s3://cesium-unreal-engine/5.3.0/UE_5.3.zip"
unreal-program-name: "UE_5.3"
test-package-base-name: "CesiumForUnreal-53-windows"
Android53:
uses: ./.github/workflows/buildAndroid.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-version: "5.3.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.3.0/UE_5.3.zip"
unreal-program-name: "UE_5.3"
upload-package-base-name: "CesiumForUnreal-53-android"
android-ndk-version: "r25b"
Linux53:
uses: ./.github/workflows/buildLinux.yml
secrets: inherit
with:
runner-label: ubuntu-22.04
unreal-engine-version: "5.3.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.3.0/Linux_Unreal_Engine_5.3.0.zip"
unreal-program-name: "UE_5.3"
upload-package-base-name: "CesiumForUnreal-53-linux"
clang-version: "v22_clang-16.0.6-centos7"
Apple53:
uses: ./.github/workflows/buildApple.yml
secrets: inherit
with:
runner-label: macos-14
unreal-engine-version: "5.3.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.3.0/UE_53_macOS.zip"
unreal-program-name: "UE_5.3"
upload-package-base-name: "CesiumForUnreal-53-apple"
xcode-version: "14.3.1"
Combine53:
runs-on: ubuntu-latest
needs: [Windows53, Android53, Linux53, Apple53]
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Set environment variables
run: |
export CESIUM_UNREAL_VERSION=$GITHUB_REF_NAME
export BUILD_CESIUM_UNREAL_PACKAGE_NAME="CesiumForUnreal-53-${CESIUM_UNREAL_VERSION}"
export BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME="CesiumForUnreal-53-SourceOnly-${CESIUM_UNREAL_VERSION}"
# Make these available to subsequent steps
echo "CESIUM_UNREAL_VERSION=$CESIUM_UNREAL_VERSION" >> $GITHUB_ENV
echo "BUILD_CESIUM_UNREAL_PACKAGE_NAME=$BUILD_CESIUM_UNREAL_PACKAGE_NAME" >> $GITHUB_ENV
echo "BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME=$BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME" >> $GITHUB_ENV
- name: Download Apple build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-53-apple-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Download Android build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-53-android-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Download Linux build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-53-linux-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Download Windows build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-53-windows-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Publish combined package artifact
if: ${{ success() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_CESIUM_UNREAL_PACKAGE_NAME}}
path: combine
- name: Publish combined package artifact for the Unreal Marketplace
if: ${{ success() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME}}
path: |
combine
# These are built by Epic, and including them seems to confuse their process.
!combine/CesiumForUnreal/Binaries/**/*
!combine/CesiumForUnreal/Intermediate/**/*
TestPackage53:
needs: [Combine53]
uses: ./.github/workflows/testPackageOnWindows.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-zip: "s3://cesium-unreal-engine/5.3.0/UE_5.3.zip"
unreal-program-name: "UE_5.3"
unreal-engine-association: "5.3"
test-package-base-name: "CesiumForUnreal-53"
visual-studio-version: "2022"
visual-studio-components: "Microsoft.VisualStudio.Component.VC.14.34.17.4.x86.x64,Microsoft.VisualStudio.Component.Windows10SDK.18362"
Windows54:
uses: ./.github/workflows/buildWindows.yml
secrets: inherit
with:
runner-label: "windows-2022"
unreal-engine-version: "5.4.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.4.0/UE_5.4.zip"
unreal-program-name: "UE_5.4"
upload-package-base-name: "CesiumForUnreal-54-windows"
# These are specified in the Unreal Engine release notes under "IDE Version the Build farm compiles against"
# and using them ensures we're compiling our plugin in the exact same way that Unreal Engine itself is compiled.
cmake-generator: "Visual Studio 17 2022"
cmake-toolchain: "version=14.34"
cmake-platform: "x64,version=10.0.18362.0"
visual-studio-version: "2022"
visual-studio-components: "Microsoft.VisualStudio.Component.VC.14.34.17.4.x86.x64,Microsoft.VisualStudio.Component.Windows10SDK.18362"
TestWindows54:
needs: [Windows54]
uses: ./.github/workflows/testWindows.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-zip: "s3://cesium-unreal-engine/5.4.0/UE_5.4.zip"
unreal-program-name: "UE_5.4"
test-package-base-name: "CesiumForUnreal-54-windows"
Android54:
uses: ./.github/workflows/buildAndroid.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-version: "5.4.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.4.0/UE_5.4.zip"
unreal-program-name: "UE_5.4"
upload-package-base-name: "CesiumForUnreal-54-android"
android-ndk-version: "r25b"
Linux54:
uses: ./.github/workflows/buildLinux.yml
secrets: inherit
with:
runner-label: ubuntu-22.04
unreal-engine-version: "5.4.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.4.0/Linux_Unreal_Engine_5.4.0.zip"
unreal-program-name: "UE_5.4"
upload-package-base-name: "CesiumForUnreal-54-linux"
clang-version: "v22_clang-16.0.6-centos7"
Apple54:
uses: ./.github/workflows/buildApple.yml
secrets: inherit
with:
runner-label: macos-14
unreal-engine-version: "5.4.0"
unreal-engine-zip: "s3://cesium-unreal-engine/5.4.0/UE_54_macOS.zip"
unreal-program-name: "UE_5.4"
upload-package-base-name: "CesiumForUnreal-54-apple"
xcode-version: "14.3.1"
Combine54:
runs-on: ubuntu-latest
needs: [Windows54, Android54, Linux54, Apple54]
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Set environment variables
run: |
export CESIUM_UNREAL_VERSION=$GITHUB_REF_NAME
export BUILD_CESIUM_UNREAL_PACKAGE_NAME="CesiumForUnreal-54-${CESIUM_UNREAL_VERSION}"
export BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME="CesiumForUnreal-54-SourceOnly-${CESIUM_UNREAL_VERSION}"
# Make these available to subsequent steps
echo "CESIUM_UNREAL_VERSION=$CESIUM_UNREAL_VERSION" >> $GITHUB_ENV
echo "BUILD_CESIUM_UNREAL_PACKAGE_NAME=$BUILD_CESIUM_UNREAL_PACKAGE_NAME" >> $GITHUB_ENV
echo "BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME=$BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME" >> $GITHUB_ENV
- name: Download Apple build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-54-apple-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Download Android build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-54-android-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Download Linux build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-54-linux-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Download Windows build
uses: actions/download-artifact@v4
with:
name: CesiumForUnreal-54-windows-${{ env.CESIUM_UNREAL_VERSION}}
path: combine
- name: Publish combined package artifact
if: ${{ success() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_CESIUM_UNREAL_PACKAGE_NAME}}
path: combine
- name: Publish combined package artifact for the Unreal Marketplace
if: ${{ success() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_CESIUM_UNREAL_SOURCE_ONLY_PACKAGE_NAME}}
path: |
combine
# These are built by Epic, and including them seems to confuse their process.
!combine/CesiumForUnreal/Binaries/**/*
!combine/CesiumForUnreal/Intermediate/**/*
TestPackage54:
needs: [Combine54]
uses: ./.github/workflows/testPackageOnWindows.yml
secrets: inherit
with:
runner-label: windows-2022
unreal-engine-zip: "s3://cesium-unreal-engine/5.4.0/UE_5.4.zip"
unreal-program-name: "UE_5.4"
unreal-engine-association: "5.4"
test-package-base-name: "CesiumForUnreal-54"
visual-studio-version: "2022"
visual-studio-components: "Microsoft.VisualStudio.Component.VC.14.34.17.4.x86.x64,Microsoft.VisualStudio.Component.Windows10SDK.18362"