First Commit

This commit is contained in:
2025-11-18 14:18:26 -07:00
parent 33eb6e3707
commit 27277ec342
6106 changed files with 3571167 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
#
# This file is part of KDDockWidgets.
#
# SPDX-FileCopyrightText: 2023 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
# Author: Sérgio Martins <sergio.martins@kdab.com>
#
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
#
# Contact KDAB at <info@kdab.com> for commercial licensing options.
# A minimal Dockerfile that's able to build and run KDDW tests.
# Tests are run with offscreen QPA
# This Dockerfile is just provided for demonstration purposes and not really used by CI.
# Instructions:
# docker build -t kddw-tests .
# docker run -it -v /data/sources/kddockwidgets/:/kddockwidgets/ -v ~/Qt/5.15.2/gcc_64/:/Qt5/ -v ~/Qt/6.6.0/gcc_64/:/Qt6/ --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --ulimit nofile=1024:4096 -u 1000:1000 kddw-tests
# cd /kddockwidgets/
# cmake --preset=dev
# cd build-dev && ninja
# QT_QUICK_BACKEND=software ctest -j12
FROM ubuntu:24.04
MAINTAINER Sergio Martins (sergio.martins@kdab.com)
ENV TZ=Europe/Berlin
ENV LC_CTYPE=C.UTF-8
ENV PATH=$PATH:/Qt5/bin/:/Qt6/bin/
ENV LD_LIBRARY_PATH=/Qt5/lib/:/Qt6/lib/
ENV QT_QUICK_BACKEND=software
ENV LSAN_OPTIONS=detect_leaks=0
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt update -qq && apt install build-essential software-properties-common lld git cmake ninja-build \
mesa-common-dev libglu1-mesa-dev libglib2.0-dev libfontconfig \
libxkbcommon-dev mesa-utils libgl1-mesa-dev libglu1-mesa-dev \
vim clang-tidy-14 valgrind pip libxslt-dev llvm libspdlog-dev clazy clang -y

View File

@@ -0,0 +1,42 @@
#
# This file is part of KDDockWidgets.
#
# SPDX-FileCopyrightText: 2023 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
# Author: Sérgio Martins <sergio.martins@kdab.com>
#
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
#
# Contact KDAB at <info@kdab.com> for commercial licensing options.
# A minimal Dockerfile that's able to build KDDW Python support
# Instructions:
# docker build -t kddw-python .
# docker run -it -v /data/sources/kddockwidgets/:/kddockwidgets/ -v ~/Qt/5.15.2/gcc_64/:/Qt5/ -v ~/Qt/6.6.0/gcc_64/:/Qt6/ --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --ulimit nofile=1024:4096 -u 1000:1000 kddw-python
# cd /kddockwidgets/
FROM ubuntu:22.04
MAINTAINER Sergio Martins (sergio.martins@kdab.com)
ENV TZ=Europe/Berlin
ENV LC_CTYPE=C.UTF-8
ENV PATH=$PATH:/Qt5/bin/:/Qt6/bin/
ENV LD_LIBRARY_PATH=/Qt5/lib/:/Qt6/lib/
ENV QT_QUICK_BACKEND=software
ENV LSAN_OPTIONS=detect_leaks=0
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt update -qq && apt install build-essential software-properties-common lld git cmake ninja-build \
mesa-common-dev libglu1-mesa-dev libglib2.0-dev libfontconfig \
libxkbcommon-dev mesa-utils libgl1-mesa-dev libglu1-mesa-dev \
vim clang-tidy-14 valgrind pip libxslt-dev llvm libspdlog-dev clazy clang -y
RUN pip install shiboken6-generator==6.6.0 shiboken6==6.6.0 pyside6==6.6.0
RUN pip install --index-url=https://download.qt.io/official_releases/QtForPython \
--trusted-host download.qt.io shiboken2-generator==5.15.2.1 shiboken2==5.15.2.1 pyside2==5.15.2.1
RUN mkdir /home/user && \
groupadd -g 1000 defaultgroup && \
useradd -u 1000 -g defaultgroup user -m && chown -R user /home/user

View File

@@ -0,0 +1,35 @@
{
"name": "kddw-tests",
"build": {
"dockerfile": "Dockerfile"
},
"runArgs": [
"--cap-add=SYS_PTRACE",
"--security-opt",
"seccomp=unconfined",
"--ulimit",
"nofile=1024:4096"
],
"workspaceMount": "source=${localWorkspaceFolder}/,target=/kddockwidgets/,type=bind",
"workspaceFolder": "/kddockwidgets",
"customizations": {
"vscode": {
"extensions": [
"vadimcn.vscode-lldb",
"llvm-vs-code-extensions.vscode-clangd",
"mhutchie.git-graph",
"Gruntfuggly.todo-tree",
"ms-vscode.cmake-tools"
],
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
"workbench.colorTheme": "Visual Studio Light"
}
}
},
"mounts": [
"source=${localEnv:HOME}/Qt/5.15.2/gcc_64/,target=/Qt5/,type=bind",
"source=${localEnv:HOME}/Qt/6.6.0/gcc_64/,target=/Qt6/,type=bind"
],
"remoteUser": "user"
}