variables: GIT_STRATEGY: fetch GIT_SUBMODULE_STRATEGY: recursive stages: - build - test # disabled because gcc9 can't build net_if.hpp #build:linux: # image: alpine:latest # tags: # - linux # stage: build # before_script: # - apk add --update g++ make cmake linux-headers libcap-dev libuv-dev curl-dev git # script: # - make STATIC_LINK=ON DOWNLOAD_SODIUM=ON # artifacts: # paths: # - "lokinet" # we'll just try our travis set up for now build:linux_release: image: ubuntu:xenial tags: - linux stage: build before_script: - apt-get update && apt-get install -y apt-transport-https curl - curl https://apt.kitware.com/keys/kitware-archive-latest.asc | apt-key add - - echo 'deb https://apt.kitware.com/ubuntu/ xenial main' >/etc/apt/sources.list.d/kitware.list - apt-get update && apt-get install -y build-essential ca-certificates cmake curl git libcap-dev pkg-config wget xz-utils script: - make static DOWNLOAD_SODIUM=ON # alternatively: git describe --tag - LOKINET_VERSION=$(./lokinet-static --version|sed s/lokinet-//) - echo lokinet-linux-x64-v$LOKINET_VERSION - mkdir lokinet-linux-x64-v$LOKINET_VERSION - cp lokinet-bootstrap lokinet-linux-x64-v$LOKINET_VERSION - cp build/daemon/lokinet lokinet-linux-x64-v$LOKINET_VERSION - cp build/daemon/lokinetctl lokinet-linux-x64-v$LOKINET_VERSION - cp docs/linux-setcap-readme.txt lokinet-linux-x64-v$LOKINET_VERSION - tar cJf lokinet-linux-x64-v$LOKINET_VERSION.tar.xz lokinet-linux-x64-v$LOKINET_VERSION - echo "lokinet-linux-x64-v$LOKINET_VERSION.tar.xz should be ready" artifacts: paths: - lokinet-linux-x64-v*.tar.xz build:linux_debug: image: ubuntu:xenial tags: - linux stage: build before_script: - apt-get update && apt-get install -y apt-transport-https curl - curl https://apt.kitware.com/keys/kitware-archive-latest.asc | apt-key add - - echo 'deb https://apt.kitware.com/ubuntu/ xenial main' >/etc/apt/sources.list.d/kitware.list - apt-get update && apt-get install -y build-essential ca-certificates cmake curl git libcap-dev libcurl4-openssl-dev libuv1-dev ninja-build script: - DOWNLOAD_SODIUM=ON IS_NOTIFICATION=1 STATIC_LINK=OFF make artifacts: paths: - build/daemon/lokinet - build/daemon/lokinetctl build:win32: image: ubuntu:bionic tags: - linux stage: build before_script: - apt-get update && apt-get install -y build-essential cmake nsis git g++-mingw-w64 script: - DOWNLOAD_SODIUM=ON IS_NOTIFICATION=1 STATIC_LINK=ON WINDOWS_ARCH=64 make windows artifacts: paths: - build/lokinet-*.exe build:macos: tags: - osx stage: build script: - IS_NOTIFICATION=1 STATIC_LINK=ON DOWNLOAD_SODIUM=ON make mac artifacts: paths: - build/*.pkg - build/daemon/lokinet # needs libuv and libcurl #build:freebsd: # tags: # - freebsd # stage: build # script: # - gmake DOWNLOAD_SODIUM=ON # artifacts: # paths: # - "lokinet" # need windows runner on lokiproject #build:windows: # tags: # - windows # stage: build # script: #- make static CC=gcc CXX=g++ # can't use STATIC because LTO doesn't work on cross-compiled targets # -DSTATIC_LINK_RUNTIME=ON -DLIBUV_ROOT=libuv # - cmake .. -G Ninja -DCMAKE_TOOLCHAIN_FILE=../contrib/cross/mingw[32].cmake -DDOWNLOAD_SODIUM=ON # artifacts: # paths: # - "lokinet.exe"