|
|
|
@ -31,6 +31,13 @@ local ci_dep_mirror(want_mirror) = (if want_mirror then ' -DLOCAL_MIRROR=https:/
|
|
|
|
|
|
|
|
|
|
local apt_get_quiet = 'apt-get -o=Dpkg::Use-Pty=0 -q';
|
|
|
|
|
|
|
|
|
|
local kitware_repo(distro) = [
|
|
|
|
|
'eatmydata ' + apt_get_quiet + ' install -y curl ca-certificates',
|
|
|
|
|
'curl -sSL https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - >/usr/share/keyrings/kitware-archive-keyring.gpg',
|
|
|
|
|
'echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ ' + distro + ' main" >/etc/apt/sources.list.d/kitware.list',
|
|
|
|
|
'eatmydata ' + apt_get_quiet + ' update',
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// Regular build on a debian-like system:
|
|
|
|
|
local debian_pipeline(name,
|
|
|
|
|
image,
|
|
|
|
@ -72,14 +79,14 @@ local debian_pipeline(name,
|
|
|
|
|
'echo deb http://deb.oxen.io $$(lsb_release -sc) main >/etc/apt/sources.list.d/oxen.list',
|
|
|
|
|
'eatmydata ' + apt_get_quiet + ' update',
|
|
|
|
|
] else []
|
|
|
|
|
) + extra_setup
|
|
|
|
|
) + extra_setup
|
|
|
|
|
+ [
|
|
|
|
|
'eatmydata ' + apt_get_quiet + ' dist-upgrade -y',
|
|
|
|
|
'eatmydata ' + apt_get_quiet + ' install --no-install-recommends -y gdb cmake git pkg-config ccache ' + std.join(' ', deps),
|
|
|
|
|
'mkdir build',
|
|
|
|
|
'cd build',
|
|
|
|
|
'cmake .. -DWITH_SETCAP=OFF -DCMAKE_CXX_FLAGS=-fdiagnostics-color=always -DCMAKE_BUILD_TYPE=' + build_type + ' ' +
|
|
|
|
|
(if build_type == 'Debug' then ' -DWARN_DEPRECATED=OFF ' else '') +
|
|
|
|
|
'-DWARN_DEPRECATED=OFF ' +
|
|
|
|
|
(if werror then '-DWARNINGS_AS_ERRORS=ON ' else '') +
|
|
|
|
|
'-DWITH_LTO=' + (if lto then 'ON ' else 'OFF ') +
|
|
|
|
|
'-DWITH_TESTS=' + (if tests then 'ON ' else 'OFF ') +
|
|
|
|
@ -322,7 +329,7 @@ local mac_builder(name,
|
|
|
|
|
'ulimit -n 1024', // because macos sets ulimit to 256 for some reason yeah idk
|
|
|
|
|
'./contrib/mac-configure.sh ' +
|
|
|
|
|
ci_dep_mirror(local_mirror) +
|
|
|
|
|
(if build_type == 'Debug' then ' -DWARN_DEPRECATED=OFF ' else '') +
|
|
|
|
|
'-DWARN_DEPRECATED=OFF ' +
|
|
|
|
|
codesign,
|
|
|
|
|
'cd build-mac',
|
|
|
|
|
// We can't use the 'package' target here because making a .dmg requires an active logged in
|
|
|
|
@ -372,29 +379,29 @@ local docs_pipeline(name, image, extra_cmds=[], allow_fail=false) = {
|
|
|
|
|
'echo "Building on ${DRONE_STAGE_MACHINE}"',
|
|
|
|
|
apt_get_quiet + ' update',
|
|
|
|
|
apt_get_quiet + ' install -y eatmydata',
|
|
|
|
|
'eatmydata ' + apt_get_quiet + ' install --no-install-recommends -y git clang-format-14 jsonnet',
|
|
|
|
|
'eatmydata ' + apt_get_quiet + ' install --no-install-recommends -y git clang-format-15 jsonnet',
|
|
|
|
|
'./contrib/ci/drone-format-verify.sh',
|
|
|
|
|
],
|
|
|
|
|
}],
|
|
|
|
|
},
|
|
|
|
|
// documentation builder
|
|
|
|
|
docs_pipeline('Documentation',
|
|
|
|
|
docker_base + 'docbuilder',
|
|
|
|
|
extra_cmds=['UPLOAD_OS=docs ./contrib/ci/drone-static-upload.sh']),
|
|
|
|
|
//docs_pipeline('Documentation',
|
|
|
|
|
// docker_base + 'docbuilder',
|
|
|
|
|
// extra_cmds=['UPLOAD_OS=docs ./contrib/ci/drone-static-upload.sh']),
|
|
|
|
|
|
|
|
|
|
// Various debian builds
|
|
|
|
|
debian_pipeline('Debian sid (amd64)', docker_base + 'debian-sid'),
|
|
|
|
|
debian_pipeline('Debian sid/Debug (amd64)', docker_base + 'debian-sid', build_type='Debug'),
|
|
|
|
|
clang(13),
|
|
|
|
|
full_llvm(13),
|
|
|
|
|
clang(16),
|
|
|
|
|
full_llvm(16),
|
|
|
|
|
debian_pipeline('Debian stable (i386)', docker_base + 'debian-stable/i386'),
|
|
|
|
|
debian_pipeline('Debian buster (amd64)', docker_base + 'debian-buster', extra_setup=local_gnutls(), cmake_extra='-DDOWNLOAD_SODIUM=ON'),
|
|
|
|
|
debian_pipeline('Debian buster (amd64)', docker_base + 'debian-buster', extra_setup=kitware_repo('bionic') + local_gnutls(), cmake_extra='-DDOWNLOAD_SODIUM=ON'),
|
|
|
|
|
debian_pipeline('Ubuntu latest (amd64)', docker_base + 'ubuntu-rolling'),
|
|
|
|
|
debian_pipeline('Ubuntu LTS (amd64)', docker_base + 'ubuntu-lts'),
|
|
|
|
|
debian_pipeline('Ubuntu bionic (amd64)',
|
|
|
|
|
docker_base + 'ubuntu-bionic',
|
|
|
|
|
deps=['g++-8'] + default_deps_nocxx,
|
|
|
|
|
extra_setup=local_gnutls(),
|
|
|
|
|
extra_setup=kitware_repo('bionic') + local_gnutls(),
|
|
|
|
|
cmake_extra='-DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8',
|
|
|
|
|
oxen_repo=true),
|
|
|
|
|
|
|
|
|
@ -425,6 +432,7 @@ local docs_pipeline(name, image, extra_cmds=[], allow_fail=false) = {
|
|
|
|
|
debian_pipeline('Static (bionic amd64)',
|
|
|
|
|
docker_base + 'ubuntu-bionic',
|
|
|
|
|
deps=['g++-8', 'python3-dev', 'automake', 'libtool'],
|
|
|
|
|
extra_setup=kitware_repo('bionic'),
|
|
|
|
|
lto=true,
|
|
|
|
|
tests=false,
|
|
|
|
|
oxen_repo=true,
|
|
|
|
@ -442,6 +450,7 @@ local docs_pipeline(name, image, extra_cmds=[], allow_fail=false) = {
|
|
|
|
|
docker_base + 'debian-buster/arm32v7',
|
|
|
|
|
arch='arm64',
|
|
|
|
|
deps=['g++', 'python3-dev', 'automake', 'libtool'],
|
|
|
|
|
extra_setup=kitware_repo('bionic'),
|
|
|
|
|
cmake_extra='-DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON ' +
|
|
|
|
|
'-DCMAKE_CXX_FLAGS="-march=armv7-a+fp -Wno-psabi" -DCMAKE_C_FLAGS="-march=armv7-a+fp" ' +
|
|
|
|
|
'-DNATIVE_BUILD=OFF -DWITH_SYSTEMD=OFF -DWITH_BOOTSTRAP=OFF',
|
|
|
|
|