lokinet/.gitlab-ci.yml

77 lines
2.7 KiB
YAML

variables:
GIT_STRATEGY: fetch
GIT_SUBMODULE_STRATEGY: recursive
stages:
- build
- test
# 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 python3-pip
- pip3 install git-archive-all
script:
- mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DDOWNLOAD_CURL=ON -DDOWNLOAD_SODIUM=ON -DSTATIC_LINK_RUNTIME=ON && make
# 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 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
- make tarball
artifacts:
paths:
- lokinet-*.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:
- mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Debug -DDOWNLOAD_CURL=ON -DDOWNLOAD_SODIUM=ON -DSTATIC_LINK_RUNTIME=ON && make package
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:
- mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../contrib/cross/mingw64.cmake -DSTATIC_LINK_RUNTIME=ON && make package
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