Skip to content

UT for getObjectInfo #246

UT for getObjectInfo

UT for getObjectInfo #246

Workflow file for this run

name: Linux
on: [push, pull_request]
env:
OPENCL_PKGCONFIG_PATHS: ${{ github.workspace }}/install/share/pkgconfig:${{ github.workspace }}/external/OpenCL-Headers/install/share/pkgconfig:${{ github.workspace }}/external/OpenCL-ICD-Loader/install/lib/pkgconfig
jobs:
cmake-minimum:
runs-on: ${{ matrix.OS }}
container: streamhpc/opencl-sdk-base:ubuntu-18.04-20220127
strategy:
matrix:
OS: [ubuntu-20.04]
VER: [7] # gcc-8, clang-8, clang-10
EXT: [ON, OFF]
GEN: [Unix Makefiles]
CONFIG: [Debug, Release]
STD: [11, 14]
BIN: [64] # Temporarily disable cross-compilation (will need toolchain files)
CMAKE: [3.1.3]
env:
CMAKE_EXE: /opt/Kitware/CMake/${{ matrix.CMAKE }}/bin/cmake
CTEST_EXE: /opt/Kitware/CMake/${{ matrix.CMAKE }}/bin/ctest
# Workaround for https://github.com/actions/runner/issues/2058
OPENCL_PKGCONFIG_PATHS: /__w/OpenCL-CLHPP/OpenCL-CLHPP/install/share/pkgconfig:/__w/OpenCL-CLHPP/OpenCL-CLHPP/external/OpenCL-Headers/install/share/pkgconfig:/__w/OpenCL-CLHPP/OpenCL-CLHPP/external/OpenCL-ICD-Loader/install/lib/pkgconfig
steps:
- name: Checkout OpenCL-CLHPP
uses: actions/checkout@v3
with:
submodules: recursive
- name: Checkout OpenCL-Headers
uses: actions/checkout@v3
with:
repository: KhronosGroup/OpenCL-Headers
path: external/OpenCL-Headers
- name: Checkout OpenCL-ICD-Loader
uses: actions/checkout@v3
with:
repository: KhronosGroup/OpenCL-ICD-Loader
path: external/OpenCL-ICD-Loader
- name: Build & install OpenCL-Headers
run: $CMAKE_EXE
-G "${{matrix.GEN}}"
-D CMAKE_BUILD_TYPE=${{matrix.CONFIG}}
-D CMAKE_C_FLAGS="-w -m${{matrix.BIN}}"
-D CMAKE_C_COMPILER=gcc-${{matrix.VER}}
-D CMAKE_C_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/external/OpenCL-Headers/install
-D BUILD_TESTING=OFF
-B$GITHUB_WORKSPACE/external/OpenCL-Headers/build
-H$GITHUB_WORKSPACE/external/OpenCL-Headers &&
$CMAKE_EXE
--build $GITHUB_WORKSPACE/external/OpenCL-Headers/build
--target install
--
-j`nproc`
- name: Build & install OpenCL-ICD-Loader
run: $CMAKE_EXE
-G "${{matrix.GEN}}"
-D CMAKE_BUILD_TYPE=${{matrix.CONFIG}}
-D CMAKE_C_FLAGS="-w -m${{matrix.BIN}}"
-D CMAKE_C_COMPILER=gcc-${{matrix.VER}}
-D CMAKE_C_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/external/OpenCL-Headers/install
-D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install
-D BUILD_TESTING=OFF
-B$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/build
-H$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader &&
$CMAKE_EXE
--build $GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/build
--target install
--
-j`nproc`
- name: Configure
shell: bash
# no -Werror during configuration because:
# warning: ISO C forbids assignment between function pointer and ‘void *’ [-Wpedantic]
# warning: unused parameter [-Wunused-parameter]
run:
$CMAKE_EXE
-G "${{matrix.GEN}}"
-D BUILD_TESTING=ON
-D BUILD_EXAMPLES=ON
-D CMAKE_BUILD_TYPE=${{matrix.CONFIG}}
-D CMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -m${{matrix.BIN}}"
-D CMAKE_CXX_COMPILER=g++-${{matrix.VER}}
-D CMAKE_CXX_STANDARD=${{matrix.STD}}
-D CMAKE_CXX_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install
-D CMAKE_PREFIX_PATH="$GITHUB_WORKSPACE/external/OpenCL-Headers/install;$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install"
-B$GITHUB_WORKSPACE/build
-H$GITHUB_WORKSPACE
- name: Build
shell: bash
run: $CMAKE_EXE
--build $GITHUB_WORKSPACE/build
--
-j`nproc`
- name: Test
working-directory: ${{runner.workspace}}/OpenCL-CLHPP/build
shell: bash
run: $CTEST_EXE --output-on-failure --parallel `nproc`
- name: Install
shell: bash
run: $CMAKE_EXE
--build $GITHUB_WORKSPACE/build
--target install
--
-j`nproc`
- name: "Consume (standalone): Configure/Build/Test"
shell: bash
run: $CMAKE_EXE
-G "${{matrix.GEN}}"
-D CMAKE_BUILD_TYPE=${{matrix.CONFIG}}
-D CMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -m${{matrix.BIN}}"
-D CMAKE_CXX_COMPILER=g++-${{matrix.VER}}
-D CMAKE_CXX_STANDARD=${{matrix.STD}}
-D CMAKE_CXX_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_PREFIX_PATH="$GITHUB_WORKSPACE/external/OpenCL-Headers/install;$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install;$GITHUB_WORKSPACE/install"
-B$GITHUB_WORKSPACE/build/downstream/bare
-H$GITHUB_WORKSPACE/tests/pkgconfig/bare ;
$CMAKE_EXE
--build $GITHUB_WORKSPACE/build/downstream/bare ;
cd $GITHUB_WORKSPACE/build/downstream/bare ;
$CTEST_EXE --output-on-failure
- name: "Consume (SDK): Configure/Build/Test"
shell: bash
run: $CMAKE_EXE -E make_directory $GITHUB_WORKSPACE/install/share/cmake/OpenCL ;
echo -e "include(\"$GITHUB_WORKSPACE/external/OpenCL-Headers/install/share/cmake/OpenCLHeaders/OpenCLHeadersTargets.cmake\")\ninclude(\"$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install/share/cmake/OpenCLICDLoader/OpenCLICDLoaderTargets.cmake\")\ninclude(\"\${CMAKE_CURRENT_LIST_DIR}/../OpenCLHeadersCpp/OpenCLHeadersCppTargets.cmake\")" > $GITHUB_WORKSPACE/install/share/cmake/OpenCL/OpenCLConfig.cmake ;
$CMAKE_EXE
-G "${{matrix.GEN}}"
-D CMAKE_BUILD_TYPE=${{matrix.CONFIG}}
-D CMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -m${{matrix.BIN}}"
-D CMAKE_CXX_COMPILER=g++-${{matrix.VER}}
-D CMAKE_CXX_STANDARD=${{matrix.STD}}
-D CMAKE_CXX_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_PREFIX_PATH="$GITHUB_WORKSPACE/external/OpenCL-Headers/install;$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install;$GITHUB_WORKSPACE/install"
-B$GITHUB_WORKSPACE/build/downstream/sdk
-H$GITHUB_WORKSPACE/tests/pkgconfig/sdk ;
$CMAKE_EXE
--build $GITHUB_WORKSPACE/build/downstream/sdk ;
cd $GITHUB_WORKSPACE/build/downstream/sdk ;
$CTEST_EXE --output-on-failure
- name: Test pkg-config
shell: bash
run: PKG_CONFIG_PATH="$OPENCL_PKGCONFIG_PATHS" pkg-config OpenCL-CLHPP --cflags | grep -q "\-I$GITHUB_WORKSPACE/install/include"
- name: Test pkg-config dependency
shell: bash
run: PKG_CONFIG_PATH="$OPENCL_PKGCONFIG_PATHS" pkg-config OpenCL-CLHPP --cflags | grep -q "\-I$GITHUB_WORKSPACE/external/OpenCL-Headers/install/include"
cmake-latest:
runs-on: ${{ matrix.OS }}
strategy:
matrix:
OS : [ubuntu-20.04]
VER: [9, 11] # clang-11, clang-13
EXT: [ON, OFF]
GEN: [Ninja Multi-Config]
STD: [11, 14]
BIN: [64] # Temporarily disable cross-compilation (will need toolchain files)
CMAKE: [3.21.2]
env:
CMAKE_URL: https://github.com/Kitware/CMake/releases/download/v${{ matrix.CMAKE }}/cmake-${{ matrix.CMAKE }}-Linux-x86_64.tar.gz
CMAKE_EXE: /opt/Kitware/CMake/${{ matrix.CMAKE }}/bin/cmake
CTEST_EXE: /opt/Kitware/CMake/${{ matrix.CMAKE }}/bin/ctest
steps:
- name: Checkout OpenCL-CLHPP
uses: actions/checkout@v3
with:
submodules: recursive
- name: Checkout OpenCL-Headers
uses: actions/checkout@v3
with:
repository: KhronosGroup/OpenCL-Headers
path: external/OpenCL-Headers
- name: Checkout OpenCL-ICD-Loader
uses: actions/checkout@v3
with:
repository: KhronosGroup/OpenCL-ICD-Loader
path: external/OpenCL-ICD-Loader
- name: Create Build Environment
run: sudo apt-get update -q;
if [[ "${{matrix.GEN}}" =~ "Ninja" && ! `which ninja` ]]; then sudo apt install -y ninja-build; fi;
sudo apt install gcc-${{matrix.VER}} g++-${{matrix.VER}};
if [[ "${{matrix.BIN}}" == "32" ]];
then sudo apt install gcc-${COMPILER_VER}-multilib;
fi;
mkdir -p /opt/Kitware/CMake;
wget -c $CMAKE_URL -O - | tar -xz --directory /opt/Kitware/CMake;
mv /opt/Kitware/CMake/cmake-${{ matrix.CMAKE }}-* /opt/Kitware/CMake/${{ matrix.CMAKE }}
# Install Ninja only if it's the selected generator and it's not available.
- name: Build & install OpenCL-Headers
run: $CMAKE_EXE
-G "${{matrix.GEN}}"
-D CMAKE_C_FLAGS="-w -m${{matrix.BIN}}"
-D CMAKE_C_COMPILER=gcc-${{matrix.VER}}
-D CMAKE_C_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/external/OpenCL-Headers/install
-D BUILD_TESTING=OFF
-B$GITHUB_WORKSPACE/external/OpenCL-Headers/build
-H$GITHUB_WORKSPACE/external/OpenCL-Headers &&
$CMAKE_EXE
--build $GITHUB_WORKSPACE/external/OpenCL-Headers/build
--target install
--config Release
--
-j`nproc`
- name: Build & install OpenCL-ICD-Loader
run: $CMAKE_EXE
-G "${{matrix.GEN}}"
-D CMAKE_C_FLAGS="-w -m${{matrix.BIN}}"
-D CMAKE_C_COMPILER=gcc-${{matrix.VER}}
-D CMAKE_C_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/external/OpenCL-Headers/install
-D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install
-D BUILD_TESTING=OFF
-B$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/build
-H$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader &&
$CMAKE_EXE
--build $GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/build
--target install
--config Release
--
-j`nproc`
- name: Configure
shell: bash
# no -Werror during configuration because:
# warning: ISO C forbids assignment between function pointer and ‘void *’ [-Wpedantic]
# warning: unused parameter [-Wunused-parameter]
run: $CMAKE_EXE
-G "${{matrix.GEN}}"
-D BUILD_TESTING=ON
-D BUILD_EXAMPLES=ON
-D CMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -m${{matrix.BIN}}"
-D CMAKE_CXX_COMPILER=g++-${{matrix.VER}}
-D CMAKE_CXX_STANDARD=${{matrix.STD}}
-D CMAKE_CXX_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install
-D CMAKE_PREFIX_PATH="$GITHUB_WORKSPACE/external/OpenCL-Headers/install;$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install"
-B$GITHUB_WORKSPACE/build
-H$GITHUB_WORKSPACE
- name: Build
shell: bash
run: |
$CMAKE_EXE --build $GITHUB_WORKSPACE/build --config Release -- -j`nproc`;
$CMAKE_EXE --build $GITHUB_WORKSPACE/build --config Debug -- -j`nproc`
- name: Test
working-directory: ${{runner.workspace}}/OpenCL-CLHPP/build
shell: bash
run: |
$CTEST_EXE --output-on-failure -C Release --parallel `nproc`;
$CTEST_EXE --output-on-failure -C Debug --parallel `nproc`;
- name: Install
shell: bash
run: $CMAKE_EXE
--build $GITHUB_WORKSPACE/build
--target install
--config Release
--
-j`nproc`
- name: "Consume (standalone): Configure/Build/Test"
shell: bash
run: $CMAKE_EXE
-G "${{matrix.GEN}}"
-D CMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -m${{matrix.BIN}}"
-D CMAKE_CXX_COMPILER=g++-${{matrix.VER}}
-D CMAKE_CXX_STANDARD=${{matrix.STD}}
-D CMAKE_CXX_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_PREFIX_PATH="$GITHUB_WORKSPACE/external/OpenCL-Headers/install;$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install;$GITHUB_WORKSPACE/install"
-B$GITHUB_WORKSPACE/build/downstream/bare
-H$GITHUB_WORKSPACE/tests/pkgconfig/bare ;
$CMAKE_EXE --build $GITHUB_WORKSPACE/build/downstream/bare --config Release;
$CMAKE_EXE --build $GITHUB_WORKSPACE/build/downstream/bare --config Debug;
cd $GITHUB_WORKSPACE/build/downstream/bare;
$CTEST_EXE --output-on-failure -C Release;
$CTEST_EXE --output-on-failure -C Debug;
- name: "Consume (SDK): Configure/Build/Test"
shell: bash
run: $CMAKE_EXE -E make_directory $GITHUB_WORKSPACE/install/share/cmake/OpenCL ;
echo -e "include(\"$GITHUB_WORKSPACE/external/OpenCL-Headers/install/share/cmake/OpenCLHeaders/OpenCLHeadersTargets.cmake\")\ninclude(\"$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install/share/cmake/OpenCLICDLoader/OpenCLICDLoaderTargets.cmake\")\ninclude(\"\${CMAKE_CURRENT_LIST_DIR}/../OpenCLHeadersCpp/OpenCLHeadersCppTargets.cmake\")" > $GITHUB_WORKSPACE/install/share/cmake/OpenCL/OpenCLConfig.cmake ;
$CMAKE_EXE
-G "${{matrix.GEN}}"
-D CMAKE_CXX_FLAGS="-Wall -Wextra -pedantic -m${{matrix.BIN}}"
-D CMAKE_CXX_COMPILER=g++-${{matrix.VER}}
-D CMAKE_CXX_STANDARD=${{matrix.STD}}
-D CMAKE_CXX_EXTENSIONS=${{matrix.EXT}}
-D CMAKE_PREFIX_PATH="$GITHUB_WORKSPACE/external/OpenCL-Headers/install;$GITHUB_WORKSPACE/external/OpenCL-ICD-Loader/install;$GITHUB_WORKSPACE/install"
-B$GITHUB_WORKSPACE/build/downstream/sdk
-H$GITHUB_WORKSPACE/tests/pkgconfig/sdk ;
$CMAKE_EXE --build $GITHUB_WORKSPACE/build/downstream/sdk --config Release;
$CMAKE_EXE --build $GITHUB_WORKSPACE/build/downstream/sdk --config Debug;
cd $GITHUB_WORKSPACE/build/downstream/sdk;
$CTEST_EXE --output-on-failure -C Release;
$CTEST_EXE --output-on-failure -C Debug;
- name: Test pkg-config
shell: bash
run: PKG_CONFIG_PATH="$OPENCL_PKGCONFIG_PATHS" pkg-config OpenCL-CLHPP --cflags | grep -q "\-I$GITHUB_WORKSPACE/install/include"
- name: Test pkg-config dependency
shell: bash
run: PKG_CONFIG_PATH="$OPENCL_PKGCONFIG_PATHS" pkg-config OpenCL-CLHPP --cflags | grep -q "\-I$GITHUB_WORKSPACE/external/OpenCL-Headers/install/include"