Arbutils/.drone.yml

69 lines
3.3 KiB
YAML

kind: pipeline
name: default
type: docker
steps:
- name: test-debug-linux
image: deukhoofd/linux64builder
environment:
CC: /usr/bin/clang
CXX: /usr/bin/clang++
CMAKE_RANLIB: /usr/bin/llvm-ranlib
CMAKE_AR: /usr/bin/llvm-ar
commands:
- cmake -GNinja -DCMAKE_BUILD_TYPE=Debug . -B build-debug -DSTATICC=ON -DTESTS=ON
- cmake --build build-debug --target all -- -j 4
- cd build-debug
- ./ArbutilsTests -s --duration=true --force-colors=true
- name: test-release-linux
image: deukhoofd/linux64builder
environment:
CC: /usr/bin/clang
CXX: /usr/bin/clang++
CMAKE_RANLIB: /usr/bin/llvm-ranlib
CMAKE_AR: /usr/bin/llvm-ar
commands:
- cmake -GNinja -DCMAKE_BUILD_TYPE=Release . -B build-release -DSTATICC=ON -DTESTS=ON
- cmake --build build-release --target all -- -j 4
- cd build-debug
- ./ArbutilsTests -s --duration=true --force-colors=true
- valgrind --tool=memcheck --gen-suppressions=all --leak-check=full --leak-resolution=med --track-origins=yes --vgdb=no --error-exitcode=1 ./ArbutilsTests --test-case-exclude="Throw exception get stack trace"
- name: test-release-windows
image: deukhoofd/windowsbuilder
commands:
- update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix
- update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
- update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
- update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
- cmake -GNinja -DCMAKE_BUILD_TYPE=Release . -B build-release-windows -D CMAKE_C_COMPILER=/usr/bin/x86_64-w64-mingw32-gcc -D CMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DWINDOWS=ON -DSTATICC=ON -DTESTS=ON
- cmake --build build-release-windows --target all -- -j 4
- export WINEARCH=win64
- wine build-release-windows/ArbutilsTests.exe -s --duration=true --force-colors=true --test-case-exclude="Throw exception get stack trace"
- name: style-check
image: deukhoofd/linux64builder
failure: ignore
commands:
- run-clang-format.py -r src/ tests/ --exclude "*MacroUtils.hpp"
- name: documentation-check
image: deukhoofd/linux64builder
commands:
- ( cat Doxyfile ; echo "WARN_AS_ERROR=YES" ) | doxygen -
- rm -rf docs
- name: conan-deploy
image: deukhoofd/linux64builder
environment:
CONAN_LOGIN_USERNAME:
from_secret: conan_username
CONAN_PASSWORD:
from_secret: conan_password
commands:
- rm -rf build-debug
- rm -rf build-release-windows
- cmake -GNinja -DCMAKE_BUILD_TYPE=Release . -B build-conan -D CMAKE_C_COMPILER=/usr/bin/clang -D CMAKE_CXX_COMPILER=clang++ -DWINDOWS=0
- conan export-pkg . $DRONE_COMMIT@epsilon/$DRONE_BRANCH --build-folder build-conan -s compiler='clang' -s compiler.version=8 -s compiler.libcxx='libstdc++11'
- conan alias Arbutils/latest@epsilon/$DRONE_BRANCH Arbutils/$DRONE_COMMIT@epsilon/$DRONE_BRANCH
- conan remote add epsilon-public https://packages.p-epsilon.com/
- conan user -p -r=epsilon-public
- conan upload Arbutils/$DRONE_COMMIT@epsilon/$DRONE_BRANCH --all -r=epsilon-public --force
- conan upload Arbutils/latest@epsilon/$DRONE_BRANCH --all -r=epsilon-public
- conan user --clean