Skip to content

Commit d265fbb

Browse files
author
Artiom N.
committed
SDK image build implemented: #21
1 parent 479b964 commit d265fbb

2 files changed

Lines changed: 26 additions & 3 deletions

File tree

.github/workflows/cmake-build.yml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,9 @@ jobs:
6363
shell: bash
6464
run: |
6565
echo "build-output-dir=build_${{ matrix.c_compiler }}" >> "$GITHUB_OUTPUT"
66+
echo "KNP_IMAGE_VERSION=v2.0.${{ github.run_number }}" >> $GITHUB_ENV
6667
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
68+
echo "KNP_SDK_IMAGE_NAME=${{ vars.DOCKERHUB_LOGIN }}/knp-sdk-image:${{ env.KNP_IMAGE_VERSION }}" >> $GITHUB_ENV
6869
6970
# Install support for non-x86 emulation in Docker via QEMU.
7071
# Platforms: linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x,
@@ -110,16 +111,32 @@ jobs:
110111
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
111112
timeout-minutes: 180
112113

114+
- name: Create SDK Docker image
115+
if: matrix.c_compiler == 'gcc'
116+
uses: docker/build-push-action@v6
117+
with:
118+
platforms: linux/${{ matrix.arch }}
119+
context: "{{defaultContext}}:docker/sdk-image"
120+
load: true
121+
push: true
122+
build-args: |
123+
KNP_IMAGE_VERSION=${{ env.KNP_IMAGE_VERSION }}
124+
KNP_PACKAGES_DIR=${{ steps.strings.outputs.build-output-dir }}/_packages/
125+
tags: |
126+
${{ vars.DOCKERHUB_LOGIN }}/knp-sdk-image:${{ env.KNP_IMAGE_VERSION }}
127+
${{ vars.DOCKERHUB_LOGIN }}/knp-sdk-image:latest
128+
timeout-minutes: 180
129+
continue-on-error: false
113130
- name: Upload deb packages
114131
if: matrix.c_compiler == 'gcc'
115-
uses: actions/upload-artifact@v4
132+
uses: actions/upload-artifact@v7
116133
with:
117134
name: pkg-deb-${{ matrix.arch }}
118135
path: ${{ steps.strings.outputs.build-output-dir }}/_packages/
119136

120137
- name: Upload Python wheel
121138
if: matrix.c_compiler == 'gcc'
122-
uses: actions/upload-artifact@v4
139+
uses: actions/upload-artifact@v7
123140
with:
124141
name: pkg-python-${{ matrix.arch }}
125142
path: ${{ steps.strings.outputs.build-output-dir }}/knp_python_framework/dist/knp-*.whl

docker/sdk-image/Dockerfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
# limitations under the License.
1616

1717
ARG KNP_IMAGE_VERSION=2.0.0
18+
ARG KNP_PACKAGES_DIR
1819
ARG TARGETPLATFORM
1920
FROM kasperskydh/knp-base-image:${KNP_IMAGE_VERSION}
2021

@@ -34,3 +35,8 @@ RUN \
3435
&& chsh -s $(which zsh) \
3536
&& sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" \
3637
&& cd /knp
38+
39+
COPY NOTICE.txt .
40+
COPY ${PACKAGES_DIR}/*.deb /knp
41+
42+
RUN DEBIAN_FRONTEND=noninteractive dpkg -i /knp/*.deb

0 commit comments

Comments
 (0)