Compare commits
No commits in common. "76ebf081c2205d24b88d9d87c09dc92b4890b97d" and "0d471b579ade5ad8d7bb0213509b6240b8fa6dcd" have entirely different histories.
76ebf081c2
...
0d471b579a
2 changed files with 23 additions and 36 deletions
|
@ -10,7 +10,7 @@ FROM archlinux@sha256:a10e51dd0694d6c4142754e9d06cbce7baf91ace8031a30df37064d109
|
||||||
RUN pacman -Syyu --noconfirm \
|
RUN pacman -Syyu --noconfirm \
|
||||||
&& pacman -Syyu --noconfirm git less vim sudo python-pip wget which pkgconf \
|
&& pacman -Syyu --noconfirm git less vim sudo python-pip wget which pkgconf \
|
||||||
&& pacman -Syyu --noconfirm cmake make gcc ninja meson shellcheck \
|
&& pacman -Syyu --noconfirm cmake make gcc ninja meson shellcheck \
|
||||||
&& pacman -Syyu --noconfirm gtk4 gtkmm-4.0 boost spdlog fmt libxml++-5.0 gtest
|
&& pacman -Syyu --noconfirm gtk4 gtkmm-4.0 boost spdlog fmt libxml++-5.0
|
||||||
|
|
||||||
# Create a non-root user 'dev'
|
# Create a non-root user 'dev'
|
||||||
RUN useradd -ms /bin/bash dev \
|
RUN useradd -ms /bin/bash dev \
|
||||||
|
@ -38,7 +38,6 @@ ADD https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/L
|
||||||
# Create the LLVM directory and extract only binaries into it
|
# Create the LLVM directory and extract only binaries into it
|
||||||
RUN sudo mkdir -p /home/LLVM-${LLVM_VER}
|
RUN sudo mkdir -p /home/LLVM-${LLVM_VER}
|
||||||
RUN sudo tar -xJf /home/artifacts/LLVM-${LLVM_VER}-Linux-X64.tar.xz -C /home/LLVM-${LLVM_VER} --strip-components=1 \
|
RUN sudo tar -xJf /home/artifacts/LLVM-${LLVM_VER}-Linux-X64.tar.xz -C /home/LLVM-${LLVM_VER} --strip-components=1 \
|
||||||
LLVM-${LLVM_VER}-Linux-X64/bin/clangd \
|
|
||||||
LLVM-${LLVM_VER}-Linux-X64/bin/clang-19 \
|
LLVM-${LLVM_VER}-Linux-X64/bin/clang-19 \
|
||||||
LLVM-${LLVM_VER}-Linux-X64/bin/clang \
|
LLVM-${LLVM_VER}-Linux-X64/bin/clang \
|
||||||
LLVM-${LLVM_VER}-Linux-X64/bin/clang++ \
|
LLVM-${LLVM_VER}-Linux-X64/bin/clang++ \
|
||||||
|
|
|
@ -120,8 +120,6 @@ jobs:
|
||||||
echo "No clang-format violations detected!"
|
echo "No clang-format violations detected!"
|
||||||
|
|
||||||
- name: GCC build
|
- name: GCC build
|
||||||
id: gcc_build
|
|
||||||
continue-on-error: true
|
|
||||||
run: |
|
run: |
|
||||||
mkdir -p ${{ github.workspace }}/build_gcc
|
mkdir -p ${{ github.workspace }}/build_gcc
|
||||||
cmake -Wno-dev \
|
cmake -Wno-dev \
|
||||||
|
@ -136,51 +134,28 @@ jobs:
|
||||||
cmake --build ${{ github.workspace }}/build_gcc --parallel `nproc`
|
cmake --build ${{ github.workspace }}/build_gcc --parallel `nproc`
|
||||||
|
|
||||||
- name: GCC unit tests
|
- name: GCC unit tests
|
||||||
id: gcc_unit_tests
|
|
||||||
continue-on-error: true
|
|
||||||
run: |
|
run: |
|
||||||
cd ${{ github.workspace }}/build_gcc
|
cd ${{ github.workspace }}/build_gcc
|
||||||
./larra_xmpp_tests
|
./larra_xmpp_tests
|
||||||
|
|
||||||
- name: Clang build (only configuring)
|
|
||||||
id: clang_build
|
|
||||||
continue-on-error: true
|
|
||||||
run: |
|
|
||||||
export LLVM_VER=19.1.1
|
|
||||||
export PATH="/home/LLVM-${LLVM_VER}/bin:${PATH}"
|
|
||||||
mkdir -p ${{ github.workspace }}/build_clang
|
|
||||||
|
|
||||||
cmake -Wno-dev \
|
|
||||||
-DCMAKE_C_COMPILER=clang \
|
|
||||||
-DCMAKE_CXX_COMPILER=clang++ \
|
|
||||||
-S ${{ github.workspace }} \
|
|
||||||
-B ${{ github.workspace }}/build_clang \
|
|
||||||
-GNinja -DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DENABLE_EXAMPLES=ON \
|
|
||||||
-DENABLE_TESTS=ON \
|
|
||||||
-DCMAKE_CXX_FLAGS="-stdlib=libc++ -I/home/LLVM-${LLVM_VER}/include/c++/v1 -fno-modules"
|
|
||||||
|
|
||||||
echo "::group::compile_commands.json content"
|
|
||||||
cat ${{ github.workspace }}/build_clang/compile_commands.json
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
sed -i 's|@.*\.modmap||' ${{ github.workspace }}/build_clang/compile_commands.json
|
|
||||||
|
|
||||||
- name: Check clang-tidy
|
- name: Check clang-tidy
|
||||||
id: clang_tidy
|
|
||||||
continue-on-error: true
|
|
||||||
run: |
|
run: |
|
||||||
export LLVM_VER=19.1.1
|
export LLVM_VER=19.1.1
|
||||||
export PATH="/home/LLVM-${LLVM_VER}/bin:${PATH}"
|
export PATH="/home/LLVM-${LLVM_VER}/bin:${PATH}"
|
||||||
cd ${{ github.workspace }}
|
cd ${{ github.workspace }}
|
||||||
|
|
||||||
|
sed -i 's|/usr/sbin/g++|/home/LLVM-19.1.1/bin/clang++ -stdlib=libc++ -I/home/LLVM-${LLVM_VER}/include/c++/v1|' build_gcc/compile_commands.json
|
||||||
|
sed -i 's|-fdeps-format=p1689r5||' build_gcc/compile_commands.json
|
||||||
|
sed -i 's|-fmodules-ts||' build_gcc/compile_commands.json
|
||||||
|
sed -i 's|-fmodule-mapper=.*\.modmap||' build_gcc/compile_commands.json
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/llvm/llvm-project/refs/heads/main/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
|
wget https://raw.githubusercontent.com/llvm/llvm-project/refs/heads/main/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
|
||||||
python run-clang-tidy.py \
|
python run-clang-tidy.py \
|
||||||
-warnings-as-errors=* \
|
-warnings-as-errors=* \
|
||||||
-use-color \
|
-use-color \
|
||||||
-exclude-header-filter .*build.* \
|
-exclude-header-filter .*build.* \
|
||||||
-header-filter .hpp \
|
-header-filter .hpp \
|
||||||
-p ${{ github.workspace }}/build_clang/ \
|
-p ${{ github.workspace }}/build_gcc/ \
|
||||||
-config-file ${{ github.workspace }}/.clang-tidy \
|
-config-file ${{ github.workspace }}/.clang-tidy \
|
||||||
\
|
\
|
||||||
${{ github.workspace }}/examples \
|
${{ github.workspace }}/examples \
|
||||||
|
@ -189,9 +164,22 @@ jobs:
|
||||||
|
|
||||||
echo "No clang-tidy violations detected!"
|
echo "No clang-tidy violations detected!"
|
||||||
|
|
||||||
- name: Check on failures
|
#- name: Clang build with -fsanitize=address
|
||||||
if: steps.gcc_build.outcome != 'success' || steps.gcc_unit_tests.outcome != 'success' || steps.clang_build.outcome != 'success' || steps.clang_tidy.outcome != 'success'
|
# run: |
|
||||||
run: exit 1
|
# export LLVM_VER=19.1.1
|
||||||
|
# export PATH="/home/LLVM-${LLVM_VER}/bin:${PATH}"
|
||||||
|
# mkdir -p ${{ github.workspace }}/build_clang
|
||||||
|
# cmake -Wno-dev \
|
||||||
|
# -DCMAKE_C_COMPILER=clang \
|
||||||
|
# -DCMAKE_CXX_COMPILER=clang++ \
|
||||||
|
# -S ${{ github.workspace }} \
|
||||||
|
# -B ${{ github.workspace }}/build_clang \
|
||||||
|
# -GNinja -DCMAKE_BUILD_TYPE=Release \
|
||||||
|
# -DENABLE_EXAMPLES=ON \
|
||||||
|
# -DENABLE_TESTS=ON \
|
||||||
|
# -DCMAKE_CXX_FLAGS="-stdlib=libc++ -I/home/LLVM-${LLVM_VER}/include/c++/v1 -fno-omit-frame-pointer -g -fsanitize=address,undefined,leak,function,nullability,vptr" \
|
||||||
|
# -DCMAKE_EXE_LINKER_FLAGS="-L/home/LLVM-${LLVM_VER}/lib/ -Wl,-rpath,/home/LLVM-${LLVM_VER}/lib -lc++ -lc++abi -lm -lc -lgcc_s -lgcc -fno-omit-frame-pointer -g -fsanitize=address,undefined,leak,function,nullability,vptr"
|
||||||
|
# cmake --build ${{ github.workspace }}/build_clang --parallel `nproc`
|
||||||
|
|
||||||
#- name: Clang unit tests with -fsanitize=address
|
#- name: Clang unit tests with -fsanitize=address
|
||||||
# run: |
|
# run: |
|
||||||
|
|
Loading…
Reference in a new issue