Custom actions used by the Diligent Engine CI.
Checks out the specified module and its required dependent modules.
Example:
steps:
- name: Checkoutuses: DiligentGraphics/github-action/checkout@masterwith:
module: Tools # Optional; by default, current module is checked outsubmodules: true # Optional; by default, 'recursive' is usedSets up the build environment and downloads the required prerequisites:
- Ninja
- Vulkan SDK
- Java
- Emscripten SDK
- Required linux libraries
Example:
steps:
- name: Set up build environmentuses: DiligentGraphics/github-action/setup-build-env@v1with:
platform: Win32 # UWP, Linux, MacOS, tvOS, iOS, Android, Webcmake-generator: Ninja # Optionalninja-vs-arch: x64# When Ninja is used for VS buildvulkan-sdk-version: 1.3.290.0 # Optional, see defaults belowjava-version: 17# Optional, see defaults belowemsdk-version: 4.0.0 # Optional, see defaults belowDefault component versions are specified in the table below:
| Component | v1 |
|---|---|
| Vulkan SDK | 1.3.290.0 |
| Java | 17 |
| Emscripten SDK | 4.0.0 |
Linux libraires:
- v1
- build-essential
- libx11-dev
- libgl1-mesa-dev
- libxrandr-dev
- libxinerama-dev
- libxcursor-dev
- libxi-dev
Configures CMake; creates a helper CMakeLists.txt file, if necessary.
Example:
steps:
- name: Configure CMakeif: success()uses: DiligentGraphics/github-action/configure-cmake@v1with:
generator: Visual Studio 17 2022vs-arch: x64# Required for VS generatorbuild-type: Debug # Requiredcmake-args: -DDILIGENT_DEVELOPMENT=ON # Optional extra CMake argumentsosx-deployment-target: 11# Required for iOS/tvOSosx-architectures: arm64 # Required for iOS/tvOScc: clang-12 # Optional for Linuxcxx: clang++-12 # Optional for Linuxwindows-sdk-version: 10.0.22621.0 # Optional for Visual Studio generatorDefault versions are specified in the table below:
| Parameter | v1 |
|---|---|
| osx-deployment-target | 11 |
The action sets the following environment variables:
DILIGENT_BUILD_TYPE- Build type (${{inputs.build-type}})DILIGENT_BUILD_DIR- Build directory (${{runner.workspace}}/build)DILIGENT_INSTALL_DIR- Install directory (${{runner.workspace}}/build/install)
Runs the build for the current configuration.
Example:
steps:
- name: Buildif: success()uses: DiligentGraphics/github-action/build@masterwith:
target: install # Optional targetRuns Diligent Core tests for the current configuration.
Example:
steps:
- name: DiligentCoreTestif: success()uses: DiligentGraphics/github-action/run-core-tests@masterRuns Diligent Core GPU tests for the current configuration.
Example:
- name: DiligentCoreAPITest D3D12 DXCif: success()uses: DiligentGraphics/github-action/run-core-gpu-tests@masterwith:
mode: d3d12_swuse-dxc: truenon-separable-progs: falseRuns Diligent Tools tests for the current configuration.
Example:
steps:
- name: DiligentToolsTestif: success()uses: DiligentGraphics/github-action/run-tools-tests@masterRuns Diligent Tools GPU tests for the current configuration.
Example:
- name: DiligentToolsGPUTest D3D11if: success()uses: DiligentGraphics/github-action/run-tools-gpu-tests@masterwith:
mode: d3d11_swRuns sample and tutorial tests for the current configuration.
Example:
- name: Sample Tests D3D11uses: DiligentGraphics/github-action/run-sample-tests@v1with:
mode: d3d12_swgolden-image-mode: compare_updatenon-separable-progs: falseRemoves unneeded packages and tools to free disk space.
Example:
- name: Clean Diskuses: DiligentGraphics/github-action/clean-disk-ubuntu@masterpreserve-android-ndk: 27.0.12077973Installs Doxygen.
Example:
- name: Install Doxygenuses: DiligentGraphics/github-action/install-doxygen@master