feat: Add homogeneous volume material builder #4738
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Builds | |
on: | |
push: | |
pull_request: | |
branches: | |
- main | |
# Cancel existing jobs on new pushes. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
# All the different build/test jobs. | |
jobs: | |
# Native build jobs. | |
native: | |
# The different build modes to test. | |
strategy: | |
matrix: | |
BUILD_TYPE: ["Debug"] | |
PLATFORM: | |
- OS: "ubuntu-latest" | |
GENERATOR: "Unix Makefiles" | |
- OS: "macos-latest" | |
GENERATOR: "Xcode" | |
# The system to run on. | |
runs-on: ${{ matrix.PLATFORM.OS }} | |
name: "native (${{ matrix.PLATFORM.OS }})" | |
# The build/test steps to execute. | |
steps: | |
# Use a standard checkout of the code. | |
- uses: actions/checkout@v2 | |
# Run the CMake configuration. | |
- name: Configure | |
run: cmake -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} | |
-DDETRAY_EIGEN_PLUGIN=ON | |
-DDETRAY_VC_PLUGIN=ON | |
-DDETRAY_BUILD_CUDA=FALSE | |
-S ${{ github.workspace }} -B build | |
-G "${{ matrix.PLATFORM.GENERATOR }}" | |
# Perform the build. | |
- name: Build | |
run: cmake --build build --config ${{ matrix.BUILD_TYPE }} | |
# Containerised build jobs. | |
host-container: | |
# The different build modes to test. | |
strategy: | |
matrix: | |
BUILD_TYPE: ["Release", "Debug"] | |
SCALAR_TYPE: ["float", "double"] | |
PLATFORM: | |
- NAME: "HOST" | |
CONTAINER: "ghcr.io/acts-project/ubuntu2004:v43" | |
OPTIONS: -DDETRAY_EIGEN_PLUGIN=ON -DDETRAY_SMATRIX_PLUGIN=ON -DDETRAY_VC_PLUGIN=ON | |
# The system to run on. | |
runs-on: ubuntu-latest | |
container: ${{ matrix.PLATFORM.CONTAINER }} | |
name: "host-container (${{ matrix.PLATFORM.NAME }})" | |
# Use BASH as the shell from the image. | |
defaults: | |
run: | |
shell: bash | |
# Set the path to the test data files | |
env: | |
DETRAY_DATA_DIRECTORY: ${{ github.workspace }}/data/ | |
DETRAY_BFIELD_FILE: ${{ github.workspace }}/data/odd-bfield_v0_9_0.cvf | |
# The build/test steps to execute. | |
steps: | |
# Use a standard checkout of the code. | |
- uses: actions/checkout@v2 | |
# Get the data files for the tests | |
- name: Download data files | |
run: data/detray_data_get_files.sh | |
# Run the CMake configuration. | |
- name: Configure | |
run: | | |
source ${GITHUB_WORKSPACE}/.github/ci_setup.sh ${{ matrix.PLATFORM.NAME }} | |
cmake -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} -DDETRAY_CUSTOM_SCALARTYPE=${{ matrix.SCALAR_TYPE }} ${{ matrix.PLATFORM.OPTIONS }} -S ${GITHUB_WORKSPACE} -B build | |
# Perform the build. | |
- name: Build | |
run: | | |
source ${GITHUB_WORKSPACE}/.github/ci_setup.sh ${{ matrix.PLATFORM.NAME }} | |
cmake --build build | |
# Run the unit test(s). | |
- name: Test | |
if: "matrix.BUILD_TYPE == 'Release'" | |
run: | | |
cd build | |
source ${GITHUB_WORKSPACE}/.github/ci_setup.sh ${{ matrix.PLATFORM.NAME }} | |
ctest --output-on-failure | |
# Run the Benchmarks(s) only for Release build type | |
- name: Benchmark | |
if: "matrix.BUILD_TYPE == 'Release'" | |
run: | | |
source ${GITHUB_WORKSPACE}/tests/scripts/run_benchmarks.sh | |
# Containerised build jobs. | |
device-container: | |
# The different build modes to test. | |
strategy: | |
matrix: | |
BUILD_TYPE: ["Debug"] | |
SCALAR_TYPE: ["float", "double"] | |
PLATFORM: | |
- NAME: "CUDA" | |
CONTAINER: "ghcr.io/acts-project/ubuntu2004_cuda:v30" | |
OPTIONS: -DDETRAY_EIGEN_PLUGIN=ON -DDETRAY_SMATRIX_PLUGIN=ON -DDETRAY_VC_PLUGIN=ON | |
- NAME: "SYCL" | |
CONTAINER: "ghcr.io/acts-project/ubuntu2004_oneapi:v30" | |
OPTIONS: -DDETRAY_BUILD_CUDA=OFF -DDETRAY_BUILD_SYCL=ON -DDETRAY_EIGEN_PLUGIN=ON -DDETRAY_SMATRIX_PLUGIN=ON -DDETRAY_VC_PLUGIN=ON | |
# The system to run on. | |
runs-on: ubuntu-latest | |
container: ${{ matrix.PLATFORM.CONTAINER }} | |
name: "device-container (${{ matrix.PLATFORM.NAME }})" | |
# Use BASH as the shell from the image. | |
defaults: | |
run: | |
shell: bash | |
# The build/test steps to execute. | |
steps: | |
# Use a standard checkout of the code. | |
- uses: actions/checkout@v2 | |
# Run the CMake configuration. | |
- name: Configure | |
run: | | |
source ${GITHUB_WORKSPACE}/.github/ci_setup.sh ${{ matrix.PLATFORM.NAME }} | |
cmake -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} -DDETRAY_CUSTOM_SCALARTYPE=${{ matrix.SCALAR_TYPE }} ${{ matrix.PLATFORM.OPTIONS }} -S ${GITHUB_WORKSPACE} -B build | |
# Perform the build. | |
- name: Build | |
run: | | |
source ${GITHUB_WORKSPACE}/.github/ci_setup.sh ${{ matrix.PLATFORM.NAME }} | |
cmake --build build |