lokinet/.gitlab-ci.yml
2020-04-02 12:42:36 -04:00

105 lines
3.2 KiB
YAML

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=32 make windows
artifacts:
paths:
- build/lokinet-*.exe
# 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"