name: test-coverage on: [push, pull_request] jobs: linux-gcc-gpu: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: lcov run: sudo apt-get install lcov - name: cache-vulkansdk id: cache-vulkansdk uses: actions/cache@v1 with: path: "1.1.114.0" key: vulkansdk-linux-x86_64-1.1.114.0 - name: vulkansdk if: steps.cache-vulkansdk.outputs.cache-hit != 'true' run: | wget https://sdk.lunarg.com/sdk/download/1.1.114.0/linux/vulkansdk-linux-x86_64-1.1.114.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.1.114.0.tar.gz tar -xf vulkansdk-linux-x86_64-1.1.114.0.tar.gz rm -rf 1.1.114.0/source 1.1.114.0/samples find 1.1.114.0 -type f | grep -v -E 'vulkan|glslang' | xargs rm - name: cache-swiftshader id: cache-swiftshader uses: actions/cache@v1 with: path: swiftshader-install key: swiftshader-linux-install-20200508 - name: checkout-swiftshader if: steps.cache-swiftshader.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: repository: google/swiftshader path: swiftshader ref: 2dd864470e310d173d35fa95ca3a14d216734aab - name: checkout-swiftshader-submodules if: steps.cache-swiftshader.outputs.cache-hit != 'true' run: | cd swiftshader git submodule update --init --recursive - name: swiftshader if: steps.cache-swiftshader.outputs.cache-hit != 'true' run: | cd swiftshader mkdir -p build; cd build cmake -DCMAKE_INSTALL_PREFIX=install -DSWIFTSHADER_BUILD_EGL=FALSE -DSWIFTSHADER_BUILD_GLESv2=FALSE -DSWIFTSHADER_BUILD_GLES_CM=FALSE -DSWIFTSHADER_BUILD_VULKAN=TRUE -DSWIFTSHADER_BUILD_PVR=FALSE -DSWIFTSHADER_BUILD_TESTS=FALSE -DSWIFTSHADER_ENABLE_ASTC=FALSE -DSWIFTSHADER_WARNINGS_AS_ERRORS=FALSE -DREACTOR_BACKEND=Subzero -DREACTOR_DEFAULT_OPT_LEVEL=Default -DCMAKE_BUILD_TYPE=Release .. cmake --build . -j 2 mkdir $GITHUB_WORKSPACE/swiftshader-install cp Linux/* $GITHUB_WORKSPACE/swiftshader-install - name: configure run: export VULKAN_SDK=`pwd`/1.1.114.0/x86_64 && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=debug -DNCNN_COVERAGE=ON -DNCNN_VULKAN=ON -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. - name: build run: cmake --build build -j 2 - name: test run: | export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" cd build && ctest --output-on-failure -j 2 - name: lcov-collect run: | cd build lcov -d ./src -c -o lcov.info lcov -r lcov.info '/usr/*' -o lcov.info lcov --list lcov.info - name: codecov uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} file: build/lcov.info linux-gcc-gpu-online-spirv: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: 'true' - name: lcov run: sudo apt-get install lcov - name: cache-vulkansdk id: cache-vulkansdk uses: actions/cache@v1 with: path: "1.1.114.0" key: vulkansdk-linux-x86_64-1.1.114.0 - name: vulkansdk if: steps.cache-vulkansdk.outputs.cache-hit != 'true' run: | wget https://sdk.lunarg.com/sdk/download/1.1.114.0/linux/vulkansdk-linux-x86_64-1.1.114.0.tar.gz?Human=true -O vulkansdk-linux-x86_64-1.1.114.0.tar.gz tar -xf vulkansdk-linux-x86_64-1.1.114.0.tar.gz rm -rf 1.1.114.0/source 1.1.114.0/samples find 1.1.114.0 -type f | grep -v -E 'vulkan|glslang' | xargs rm - name: cache-swiftshader id: cache-swiftshader uses: actions/cache@v1 with: path: swiftshader-install key: swiftshader-linux-install-20200508 - name: checkout-swiftshader if: steps.cache-swiftshader.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: repository: google/swiftshader path: swiftshader ref: 2dd864470e310d173d35fa95ca3a14d216734aab - name: checkout-swiftshader-submodules if: steps.cache-swiftshader.outputs.cache-hit != 'true' run: | cd swiftshader git submodule update --init --recursive - name: swiftshader if: steps.cache-swiftshader.outputs.cache-hit != 'true' run: | cd swiftshader mkdir -p build; cd build cmake -DCMAKE_INSTALL_PREFIX=install -DSWIFTSHADER_BUILD_EGL=FALSE -DSWIFTSHADER_BUILD_GLESv2=FALSE -DSWIFTSHADER_BUILD_GLES_CM=FALSE -DSWIFTSHADER_BUILD_VULKAN=TRUE -DSWIFTSHADER_BUILD_PVR=FALSE -DSWIFTSHADER_BUILD_TESTS=FALSE -DSWIFTSHADER_ENABLE_ASTC=FALSE -DSWIFTSHADER_WARNINGS_AS_ERRORS=FALSE -DREACTOR_BACKEND=Subzero -DREACTOR_DEFAULT_OPT_LEVEL=Default -DCMAKE_BUILD_TYPE=Release .. cmake --build . -j 2 mkdir $GITHUB_WORKSPACE/swiftshader-install cp Linux/* $GITHUB_WORKSPACE/swiftshader-install - name: configure run: export VULKAN_SDK=`pwd`/1.1.114.0/x86_64 && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=debug -DNCNN_COVERAGE=ON -DNCNN_VULKAN=ON -DNCNN_VULKAN_ONLINE_SPIRV=ON -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. - name: build run: cmake --build build -j 2 - name: test run: | export VK_ICD_FILENAMES="$GITHUB_WORKSPACE/swiftshader-install/vk_swiftshader_icd.json" cd build && ctest --output-on-failure -j 2 - name: lcov-collect run: | cd build lcov -d ./src -c -o lcov.info lcov -r lcov.info '/usr/*' -o lcov.info lcov --list lcov.info - name: codecov uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} file: build/lcov.info linux-gcc-avx2: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: lcov run: sudo apt-get install lcov - name: configure run: mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=debug -DNCNN_COVERAGE=ON -DNCNN_AVX2=ON -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF .. - name: build run: cmake --build build -j 2 - name: test run: cd build && ctest --output-on-failure -j 2 - name: lcov-collect run: | cd build lcov -d ./src -c -o lcov.info lcov -r lcov.info '/usr/*' -o lcov.info lcov --list lcov.info - name: codecov uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} file: build/lcov.info