PkmnLib/.drone.yml

92 lines
3.9 KiB
YAML

kind: pipeline
name: default
volumes:
- name: conan-data
host:
path: /root/.conan/data
type: docker
steps:
- name: test-debug-linux
image: deukhoofd/linux64builder
volumes:
- name: conan-data
path: /root/.conan/data
environment:
CC: clang
CXX: clang++
commands:
- conan remote add epsilon-public https://packages.p-epsilon.com/
- cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ . -B build-debug
- cmake --build build-debug --target all -- -j 4
- build-debug/bin/pkmnLibTests -s --durations yes --use-colour yes
- name: test-release-linux
image: deukhoofd/linux64builder
volumes:
- name: conan-data
path: /root/.conan/data
environment:
CC: clang
CXX: clang++
commands:
- conan remote add epsilon-public https://packages.p-epsilon.com/
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ . -B build-release
- cmake --build build-release --target all -- -j 4
- build-release/bin/pkmnLibTests -s --durations yes --use-colour yes
- name: valgrind-release-linux
image: deukhoofd/linux64builder
volumes:
- name: conan-data
path: /root/.conan/data
commands:
- valgrind --tool=memcheck --gen-suppressions=all --leak-check=full --leak-resolution=med --track-origins=yes --vgdb=no --error-exitcode=1 --suppressions=angelscript.supp build-release/bin/pkmnLibTests
- name: test-release-windows
image: deukhoofd/windowsbuilder
volumes:
- name: conan-data
path: /root/.conan/data
environment:
CONAN_CMAKE_FIND_ROOT_PATH: /usr/x86_64-w64-mingw32
CHOST: x86_64-w64-mingw32
AR: x86_64-w64-mingw32-ar
AS: x86_64-w64-mingw32-as
RANLIB: x86_64-w64-mingw32-ranlib
CC: x86_64-w64-mingw32-gcc
CXX: x86_64-w64-mingw32-g++
STRIP: x86_64-w64-mingw32-strip
RC: x86_64-w64-mingw32-windres
commands:
- conan remote add epsilon-public https://packages.p-epsilon.com/
- 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 -DCMAKE_BUILD_TYPE=Release . -B build-release-windows -DWINDOWS=ON
- cmake --build build-release-windows --target all -- -j 4
- cp /usr/x86_64-w64-mingw32/lib/libwinpthread-1.dll /drone/src/build-release-windows/bin/
- cp /drone/src/build-release-windows/lib/libpkmnLib.so /drone/src/build-release-windows/bin/
- export WINEARCH=win64
- wine build-release-windows/bin/pkmnLibTests.exe -s
- name: conan-deploy
image: deukhoofd/linux64builder
volumes:
- name: conan-data
path: /root/.conan/data
environment:
CONAN_LOGIN_USERNAME:
from_secret: conan_username
CONAN_PASSWORD:
from_secret: conan_password
commands:
- rm -rf build-debug
- rm -rf build-release-windows
- conan remote add epsilon-public https://packages.p-epsilon.com/
- cmake -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' --force
- conan alias PkmnLib/latest@epsilon/$DRONE_BRANCH PkmnLib/$DRONE_COMMIT@epsilon/$DRONE_BRANCH
- conan user -p -r=epsilon-public
- conan upload PkmnLib/$DRONE_COMMIT@epsilon/$DRONE_BRANCH --all -r=epsilon-public --force
- conan upload PkmnLib/latest@epsilon/$DRONE_BRANCH --all -r=epsilon-public --force
- conan user --clean