6363 shell : bash
6464 run : |
6565 echo "build-output-dir=build_${{ matrix.c_compiler }}" >> "$GITHUB_OUTPUT"
66+ echo "KNP_BUILD_IMAGE_NAME=${{ vars.DOCKERHUB_LOGIN }}/knp-build-image:latest" >> $GITHUB_ENV
67+ echo "KNP_SDK_IMAGE_NAME=${{ vars.DOCKERHUB_LOGIN }}/knp-sdk-image:v2.0.${{ github.run_number }}" >> $GITHUB_ENV
6668
6769 # Install support for non-x86 emulation in Docker via QEMU.
6870 # Platforms: linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x,
@@ -83,28 +85,29 @@ jobs:
8385 -S .
8486
8587 - name : Build
86- run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP kasperskydh/knp-build-image cmake --build ${{ steps.strings.outputs.build-output-dir }} --parallel ${{ matrix.build_threads_count }}
88+ run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP ${{ KNP_BUILD_IMAGE_NAME }} cmake --build ${{ steps.strings.outputs.build-output-dir }} --parallel ${{ matrix.build_threads_count }}
8789 timeout-minutes : 180
8890
8991 - name : C++ tests
90- run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP/${{ steps.strings.outputs.build-output-dir }}/knp/tests kasperskydh/knp-build-image ctest -V
92+ run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP/${{ steps.strings.outputs.build-output-dir }}/knp/tests ${{ KNP_BUILD_IMAGE_NAME }} ctest -V
9193 timeout-minutes : 180
9294
95+ # TODO: run before configure?
9396 - name : Analyze C++ code with lizard
94- run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP kasperskydh/knp-build-image ci/run_lizard.py
97+ run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP ${{ KNP_BUILD_IMAGE_NAME }} ci/run_lizard.py
9598 continue-on-error : true
9699
97100 - name : Analyze Python code with PyLint
98- run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP kasperskydh/knp-build-image ci/run_pylint.py ${{ steps.strings.outputs.build-output-dir }}/knp_python_framework/knp ${{ steps.strings.outputs.build-output-dir }}
101+ run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP ${{ KNP_BUILD_IMAGE_NAME }} ci/run_pylint.py ${{ steps.strings.outputs.build-output-dir }}/knp_python_framework/knp ${{ steps.strings.outputs.build-output-dir }}
99102
100103 - name : Analyze Python code with Bandit
101- run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP kasperskydh/knp-build-image /usr/bin/bandit -r -lll -x ".*fixtures" /KNP/knp/python-framework ${{ steps.strings.outputs.build-output-dir }}/knp_python_framework/ -o ${{ steps.strings.outputs.build-output-dir }}/bandit.log
104+ run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP ${{ KNP_BUILD_IMAGE_NAME }} /usr/bin/bandit -r -lll -x ".*fixtures" /KNP/knp/python-framework ${{ steps.strings.outputs.build-output-dir }}/knp_python_framework/ -o ${{ steps.strings.outputs.build-output-dir }}/bandit.log
102105
103106 - name : Python tests
104- run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP/${{ steps.strings.outputs.build-output-dir }}/knp_python_framework kasperskydh/knp-build-image pytest
107+ run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP/${{ steps.strings.outputs.build-output-dir }}/knp_python_framework ${{ KNP_BUILD_IMAGE_NAME }} pytest
105108
106109 - name : Create deb packages
107- run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP/${{ steps.strings.outputs.build-output-dir }} kasperskydh/knp-build-image cpack -G DEB
110+ run : docker run --platform=linux/${{ matrix.arch }} --rm -v ${{ github.workspace }}:/KNP -w /KNP/${{ steps.strings.outputs.build-output-dir }} ${{ KNP_BUILD_IMAGE_NAME }} cpack -G DEB
108111 timeout-minutes : 180
109112
110113 - name : Upload deb packages
@@ -178,7 +181,7 @@ jobs:
178181 - name : Install OpenCV via vcpkg
179182 if : matrix.c_compiler == 'cl'
180183 run : vcpkg install opencv:x64-windows
181-
184+
182185 - name : Configure CMake
183186 env :
184187 BOOST_ROOT : ${{ steps.install-boost.outputs.BOOST_ROOT }}
0 commit comments