Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 12 additions & 27 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
FROM ubuntu:24.04
FROM mcr.microsoft.com/devcontainers/base:dev-ubuntu24.04

LABEL maintainer="Michel Estermann <estermann.michel@gmail.com>"

ARG CLANG_VERSION=18
ARG GCC_VERSION=14
ARG UBUNTU_BASE=noble

RUN apt-get update \
&& apt-get -qq install -y --no-install-recommends \
make \
build-essential \
ninja-build \
cmake \
ccache \
clang-18 \
clang-tidy-18 \
Expand All @@ -23,6 +23,8 @@ RUN apt-get update \
git \
python3-full \
gcc-14 \
file \
ssh-client \
&& rm -rf /var/lib/apt/lists/*

# Install locales package and generate en_US.UTF-8 locale
Expand All @@ -32,42 +34,22 @@ RUN apt-get update \
&& update-locale LANG=en_US.UTF-8 \
&& rm -rf /var/lib/apt/lists/*

# Set environment variables
# Install locales and set to english
ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
LC_ALL=en_US.UTF-8


# Install locales and set to english
ENV LANG en_US.UTF-8
RUN echo $LANG UTF-8 > /etc/locale.gen


ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"

#install cmake
RUN pip3 install cmake==3.31.4
#install conan
RUN pip3 install conan==2.11
RUN pip3 install python-dateutil==2.9.0

# pre-commit
RUN pip3 install pre-commit==4.0.1
RUN pip3 install yamlfmt==1.1.1

# cmake-format
RUN pip3 install cmake-format==0.6.13

# gcovr
RUN pip3 install gcovr==8.2

# docu stuff
RUN pip3 install Sphinx==8.1.3
RUN pip3 install sphinx_rtd_theme==3.0.2
RUN pip3 install breathe==4.35.0
RUN pip3 install sphinx_mdinclude==0.6.2
COPY py-requirements.txt requirements.txt

RUN pip3 install --requirement requirements.txt
RUN pip3 install aqtinstall==3.2.1

#install qt
RUN apt-get update \
Expand Down Expand Up @@ -95,6 +77,9 @@ RUN apt-get update \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

RUN aqt install-tool linux desktop tools_ifw qt.tools.ifw.47
ENV PATH="/Tools/QtInstallerFramework/4.7/bin:$PATH"

# lcov and doxygen
RUN apt-get update \
&& apt-get -qq install -y --no-install-recommends \
Expand Down
10 changes: 7 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
{
"name": "C++",
"build": {
"context": "..",
"dockerfile": "Dockerfile",
"args": {
"CLANG_VERSION": "18",
"GCC_VERSION": "14"
}
},
"mounts": [
"source=${localEnv:HOME}/.conan2,target=/home/user/.conan2,type=bind",
"source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,type=bind",
"source=${localEnv:HOME}/.conan2,target=/home/vscode/.conan2,type=bind",
"source=native-ccache,target=/opt/.native-ccache,type=volume"
],
"updateRemoteUserUID": true,
"postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",

"postAttachCommand": "pre-commit install -f --hook-type pre-commit && conan profile detect --force",
"postAttachCommand": "pre-commit install -f --hook-type pre-commit && conan profile detect --force && conan install . --build=missing --settings=build_type=Debug && conan install . --build=missing --settings=build_type=Release",
"customizations": {
"vscode": {
"extensions": [
Expand All @@ -29,7 +32,8 @@
"jnoortheen.nix-ide",
"ms-python.python",
"hbenl.vscode-test-explorer",
"ms-azuretools.vscode-docker"
"ms-azuretools.vscode-docker",
"codacy-app.codacy"
]
}
}
Expand Down
38 changes: 19 additions & 19 deletions .github/workflows/ci-linux-sanatizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,105 +18,105 @@ jobs:
include:
- name: ubuntu-22.04-clang-13-address
os: ubuntu-22.04
compiler: clang++-13
cppcompiler: clang++-13
ccompiler: clang-13
clang-tidy: clang-tidy-13
generator: Ninja
profile: linux-clang-address-sanitizers
- name: ubuntu-22.04-clang-14-address
os: ubuntu-22.04
compiler: clang++-14
cppcompiler: clang++-14
ccompiler: clang-14
clang-tidy: clang-tidy-14
generator: Ninja
profile: linux-clang-address-sanitizers
- name: ubuntu-22.04-clang-15-address
os: ubuntu-22.04
compiler: clang++-15
cppcompiler: clang++-15
ccompiler: clang-15
clang-tidy: clang-tidy-15
generator: Ninja
profile: linux-clang-address-sanitizers
- name: ubuntu-24.04-clang-16-address
os: ubuntu-24.04
compiler: clang++-16
cppcompiler: clang++-16
ccompiler: clang-16
clang-tidy: clang-tidy-16
generator: Ninja
profile: linux-clang-address-sanitizers
- name: ubuntu-24.04-clang-17-address
os: ubuntu-24.04
compiler: clang++-17
cppcompiler: clang++-17
ccompiler: clang-17
clang-tidy: clang-tidy-17
generator: Ninja
profile: linux-clang-address-sanitizers
- name: ubuntu-24.04-clang-18-address
os: ubuntu-24.04
compiler: clang++-18
cppcompiler: clang++-18
ccompiler: clang-18
clang-tidy: clang-tidy-18
generator: Ninja
profile: linux-clang-address-sanitizers
- name: ubuntu-latest-address
os: ubuntu-latest
compiler: g++
cppcompiler: g++
ccompiler: gcc
clang-tidy: clang-tidy
generator: Ninja
profile: linux-clang-address-sanitizers
- name: ubuntu-22.04-clang-13-memory
os: ubuntu-22.04
compiler: clang++-13
cppcompiler: clang++-13
ccompiler: clang-13
clang-tidy: clang-tidy-13
generator: Ninja
profile: linux-clang-memory-sanitizers
- name: ubuntu-22.04-clang-14-memory
os: ubuntu-22.04
compiler: clang++-14
cppcompiler: clang++-14
ccompiler: clang-14
clang-tidy: clang-tidy-14
generator: Ninja
profile: linux-clang-memory-sanitizers
- name: ubuntu-22.04-clang-15-memory
os: ubuntu-22.04
compiler: clang++-15
cppcompiler: clang++-15
ccompiler: clang-15
clang-tidy: clang-tidy-15
generator: Ninja
profile: linux-clang-memory-sanitizers
- name: ubuntu-24.04-clang-16-memory
os: ubuntu-24.04
compiler: clang++-16
cppcompiler: clang++-16
ccompiler: clang-16
clang-tidy: clang-tidy-16
generator: Ninja
profile: linux-clang-memory-sanitizers
- name: ubuntu-24.04-clang-17-memory
os: ubuntu-24.04
compiler: clang++-17
cppcompiler: clang++-17
ccompiler: clang-17
clang-tidy: clang-tidy-17
generator: Ninja
profile: linux-clang-memory-sanitizers
- name: ubuntu-24.04-clang-18-memory
os: ubuntu-24.04
compiler: clang++-18
cppcompiler: clang++-18
ccompiler: clang-18
clang-tidy: clang-tidy-18
generator: Ninja
profile: linux-clang-memory-sanitizers
- name: ubuntu-latest-memory
os: ubuntu-latest
compiler: g++
cppcompiler: g++
ccompiler: gcc
clang-tidy: clang-tidy
generator: Ninja
profile: linux-clang-memory-sanitizers

env:
CXX: ${{ matrix.compiler }}
CXX: ${{ matrix.cppcompiler }}
CC: ${{ matrix.ccompiler }}

steps:
Expand All @@ -125,17 +125,17 @@ jobs:
uses: actions/cache@v4
with:
path: ~/.conan2/p
key: cache-${{ matrix.os }}-${{ matrix.compiler }}-conan-${{ hashFiles('conanfile.txt') }}
key: cache-${{ matrix.os }}-${{ matrix.cppcompiler }}-conan-${{ hashFiles('conanfile.txt') }}
restore-keys: |
cache-${{ matrix.os }}-${{ matrix.compiler }}-conan
cache-${{ matrix.os }}-${{ matrix.cppcompiler }}-conan
- name: Cache (ccache)
uses: actions/cache@v4
with:
path: |
~/.cache/ccache
key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.generator }}-${{ hashFiles('**/CMakeLists.txt') }}
key: ccache-${{ matrix.os }}-${{ matrix.cppcompiler }}-${{ matrix.generator }}-${{ hashFiles('**/CMakeLists.txt') }}
restore-keys: |
ccache-${{ matrix.os }}-${{ matrix.compiler }}
ccache-${{ matrix.os }}-${{ matrix.cppcompiler }}
- name: Install dependencies
run: |
sudo apt-get update
Expand Down
Loading
Loading