You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

112 lines
5.3 KiB

version: 2
jobs:
linux_x86_64:
docker:
- image: debian:stretch-backports
working_directory: ~/repo
steps:
- checkout
- run: echo deb http://deb.debian.org/debian stretch-backports-sloppy main >> /etc/apt/sources.list.d/debian-backports.list
- run: apt-get update -y
- run: apt-get install -y g++ libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev git
- run: apt-get install -y -t 'stretch-backports*' cmake libsodium-dev
- run: cd build && cmake .. -DNIGHTLY_BUILD=ON
- run: cd build && cmake --build . -j $(nproc)
- store_artifacts: {path: ./build/devilutionx, destination: devilutionx_linux_x86_64}
linux_x86_64_test:
docker:
- image: debian:stable
working_directory: ~/repo
steps:
- checkout
- run: apt-get update -y
- run: apt-get install -y g++ libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev git cmake libsodium-dev libgtest-dev lcov curl
- run: cd build && cmake .. -DRUN_TESTS=ON
- run: cd build && cmake --build . -j $(nproc)
- run: cd build && cmake --build . -j $(nproc) --target test
- run: bash <(curl -s https://codecov.io/bash)
linux_x86_64_sdl1:
docker:
- image: debian:stretch-backports
working_directory: ~/repo
steps:
- checkout
- run: echo deb http://deb.debian.org/debian stretch-backports-sloppy main >> /etc/apt/sources.list.d/debian-backports.list
- run: apt-get update -y
- run: apt-get install -y g++ libsdl-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev git
- run: apt-get install -y -t 'stretch-backports*' cmake libsodium-dev
- run: cd build && cmake .. -DNIGHTLY_BUILD=ON -DUSE_SDL1=ON
- run: cd build && cmake --build . -j $(nproc)
- store_artifacts: {path: ./build/devilutionx, destination: devilutionx_linux_x86_64_sdl1}
linux_x86:
docker:
- image: debian:stretch-backports
working_directory: ~/repo
steps:
- checkout
- run: echo deb http://deb.debian.org/debian stretch-backports-sloppy main >> /etc/apt/sources.list.d/debian-backports.list
- run: dpkg --add-architecture i386
- run: apt-get update -y
- run: apt-get install -y g++-multilib libsdl2-dev:i386 libsdl2-mixer-dev:i386 libsdl2-ttf-dev:i386 libsodium-dev git
- run: apt-get install -y -t 'stretch-backports*' cmake libsodium-dev:i386
- run: cd build && cmake -DNIGHTLY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/32bit.cmake ..
- run: cd build && cmake --build . -j $(nproc)
- store_artifacts: {path: ./build/devilutionx, destination: devilutionx_linux_x86}
windows_x86:
docker:
- image: debian:stable
working_directory: ~/repo
steps:
- checkout
- run: apt-get update -y
- run: apt-get install -y cmake gcc-mingw-w64-i686 g++-mingw-w64-i686 wget git
- run: wget https://www.libsdl.org/release/SDL2-devel-2.0.9-mingw.tar.gz
- run: tar -xzf SDL2-devel-2.0.9-mingw.tar.gz
- run: wget https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.15-mingw.tar.gz
- run: tar -xzf SDL2_ttf-devel-2.0.15-mingw.tar.gz
- run: wget https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.4-mingw.tar.gz
- run: tar -xzf SDL2_mixer-devel-2.0.4-mingw.tar.gz
- run: wget https://github.com/jedisct1/libsodium/releases/download/1.0.18-RELEASE/libsodium-1.0.18-mingw.tar.gz
- run: tar -xzf libsodium-1.0.18-mingw.tar.gz --no-same-owner
- run: cp -r libsodium-win32/* /usr/i686-w64-mingw32
- run: cp -r SDL2*/i686-w64-mingw32 /usr
- run: cd build && cmake -DNIGHTLY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc.cmake ..
- run: cd build && cmake --build . -j $(nproc)
- store_artifacts: {path: ./build/devilutionx.exe, destination: devilutionx_x86.exe}
switch:
docker:
- image: devkitpro/devkita64:latest
working_directory: ~/repo
steps:
- checkout
- run: echo deb http://deb.debian.org/debian stretch-backports main > /etc/apt/sources.list.d/debian-backports.list
- run: echo deb http://deb.debian.org/debian stretch-backports-sloppy main >> /etc/apt/sources.list.d/debian-backports.list
- run: apt-get update && apt-get install -y -t 'stretch-backports*' cmake
- run: dkp-pacman -Syu --noconfirm
# Install cmake files (https://github.com/devkitPro/docker/issues/3)
- run: dkp-pacman -S --needed --noconfirm --quiet devkitpro-pkgbuild-helpers
- run: cd build && cmake .. -DBINARY_RELEASE=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/switch/devkita64-libnx.cmake
- run: cd build && cmake --build . -j $(nproc)
- store_artifacts: {path: ./build/devilutionx.nro, destination: devilutionx.nro}
amigaos-m68k:
docker:
- image: amigadev/crosstools:m68k-amigaos
working_directory: ~/repo
steps:
- checkout
- run: Packaging/amiga/prep.sh
- run: cd build && PKG_CONFIG_PATH=/opt/m68k-amigaos/lib/pkgconfig/:/opt/m68k-amigaos/share/pkgconfig/ cmake -DM68K_CPU=68040 -DM68K_FPU=hard -DM68K_COMMON="-s -ffast-math -O3 -noixemul -D__BIG_ENDIAN__ -D__AMIGA__ -fpermissive" ..
- run: cd build && make -j$(nproc)
- store_artifacts: {path: ./build/devilutionx, destination: devilutionx_m68k}
workflows:
version: 2
testflow:
jobs:
- linux_x86_64
- linux_x86_64_test
- linux_x86
- windows_x86
- linux_x86_64_sdl1
- switch
- amigaos-m68k