1
1
local default_deps_base = [
2
2
'libsystemd-dev' ,
3
3
'python3-dev' ,
4
- 'libuv1-dev' ,
5
4
'libunbound-dev' ,
6
5
'nettle-dev' ,
7
6
'libssl-dev' ,
8
7
'libevent-dev' ,
8
+ 'libfmt-dev' ,
9
+ 'libspdlog-dev' ,
9
10
'libsqlite3-dev' ,
10
11
'libcurl4-openssl-dev' ,
11
12
'libzmq3-dev' ,
@@ -14,7 +15,7 @@ local default_deps_base = [
14
15
];
15
16
local default_deps_nocxx = ['libsodium-dev' ] + default_deps_base; // libsodium-dev needs to be >= 1.0.18
16
17
local default_deps = ['g++' ] + default_deps_nocxx;
17
- local docker_base = 'registry.oxen.rocks/lokinet-ci- ' ;
18
+ local docker_base = 'registry.oxen.rocks/' ;
18
19
19
20
local submodule_commands = [
20
21
'git fetch --tags' ,
@@ -287,14 +288,14 @@ local deb_builder(image, distro, distro_branch, arch='amd64', oxen_repo=true) =
287
288
};
288
289
289
290
local clang(version) = debian_pipeline(
290
- 'Debian sid/clang-' + version + ' (amd64) ' ,
291
+ 'Debian sid/clang-' + version + ' [AMD64] ' ,
291
292
docker_base + 'debian-sid-clang' ,
292
293
deps=['clang-' + version] + default_deps_nocxx,
293
294
cmake_extra='-DCMAKE_C_COMPILER=clang-' + version + ' -DCMAKE_CXX_COMPILER=clang++-' + version + ' '
294
295
);
295
296
296
297
local full_llvm(version) = debian_pipeline(
297
- 'Debian sid/llvm-' + version + ' (amd64) ' ,
298
+ 'Debian sid/llvm-' + version + ' [AMD64] ' ,
298
299
docker_base + 'debian-sid-clang' ,
299
300
deps=['clang-' + version, ' lld-' + version, ' libc++-' + version + '-dev' , 'libc++abi-' + version + '-dev' ]
300
301
+ default_deps_nocxx,
@@ -304,12 +305,14 @@ local full_llvm(version) = debian_pipeline(
304
305
std.join (' ' , [
305
306
'-DCMAKE_' + type + '_LINKER_FLAGS=-fuse-ld=lld-' + version
306
307
for type in ['EXE' , 'MODULE' , 'SHARED' ]
307
- ])
308
+ ]) +
309
+ ' -DOXEN_LOGGING_FORCE_SUBMODULES=ON'
308
310
);
309
311
310
312
// Macos build
311
313
local mac_builder(name,
312
314
build_type='Release' ,
315
+ arch='amd64' ,
313
316
werror=true ,
314
317
cmake_extra='' ,
315
318
local_mirror=true ,
@@ -320,7 +323,7 @@ local mac_builder(name,
320
323
kind: 'pipeline' ,
321
324
type: 'exec' ,
322
325
name: name,
323
- platform: { os: 'darwin' , arch: 'amd64' },
326
+ platform: { os: 'darwin' , arch: arch },
324
327
steps: [
325
328
{ name: 'submodules' , commands: submodule_commands },
326
329
{
@@ -332,10 +335,7 @@ local mac_builder(name,
332
335
// basic system headers. WTF apple:
333
336
'export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"' ,
334
337
'ulimit -n 1024' , // because macos sets ulimit to 256 for some reason yeah idk
335
- './contrib/mac-configure.sh ' +
336
- ci_dep_mirror(local_mirror) +
337
- '-DWARN_DEPRECATED=OFF ' +
338
- codesign,
338
+ './contrib/mac-configure.sh ' + ci_dep_mirror(local_mirror) + '-DWARN_DEPRECATED=OFF ' + codesign,
339
339
'cd build-mac' ,
340
340
// We can't use the 'package' target here because making a .dmg requires an active logged in
341
341
// macos gui to invoke Finder to invoke the partitioning tool to create a partitioned (!)
@@ -394,28 +394,78 @@ local docs_pipeline(name, image, extra_cmds=[], allow_fail=false) = {
394
394
// docker_base + 'docbuilder',
395
395
// extra_cmds=['UPLOAD_OS=docs ./contrib/ci/drone-static-upload.sh']),
396
396
397
- // Various debian builds
398
- debian_pipeline('Debian sid (amd64)' , docker_base + 'debian-sid' ),
399
- debian_pipeline('Debian sid/Debug (amd64)' , docker_base + 'debian-sid' , build_type='Debug' ),
397
+ // Debian sid
398
+ debian_pipeline('Debian sid [AMD64]' , docker_base + 'debian-sid' ),
399
+ debian_pipeline('Debian sid/debug [AMD64]' , docker_base + 'debian-sid' , build_type='Debug' ),
400
+ debian_pipeline('Debian sid [ARM64]' , docker_base + 'debian-sid' , arch='arm64' , jobs=4 ),
401
+
400
402
clang(17 ),
401
403
full_llvm(17 ),
402
404
clang(19 ),
403
- full_llvm(19 ),
404
- debian_pipeline('Debian stable (i386)' , docker_base + 'debian-stable/i386' ),
405
- debian_pipeline('Debian bullseye (amd64)' ,
405
+ //full_llvm(19),
406
+
407
+ // Debian 12
408
+ debian_pipeline('Debian 12 static [AMD64]' ,
409
+ docker_base + 'debian-bookworm' ,
410
+ deps=['g++' ],
411
+ cmake_extra='-DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON' ),
412
+ debian_pipeline('Debian 12 [ARMHF]' , docker_base + 'debian-bookworm/arm32v7' , arch='arm64' , jobs=4 ),
413
+ debian_pipeline('Debian 12 [i386]' , docker_base + 'debian-bookworm/i386' ),
414
+
415
+ // Debian 11
416
+ debian_pipeline('Debian 11 [AMD64]' ,
406
417
docker_base + 'debian-bullseye' ,
407
418
extra_setup=debian_backports('bullseye' , ['cmake' ]) + local_gnutls()),
408
- debian_pipeline('Ubuntu latest (amd64)' , docker_base + 'ubuntu-rolling' ),
409
- debian_pipeline('Ubuntu LTS (amd64)' , docker_base + 'ubuntu-lts' ),
410
- debian_pipeline('Ubuntu focal (amd64)' ,
419
+ debian_pipeline('Debian 11 static/debug [AMD64]' ,
420
+ docker_base + 'debian-bullseye' ,
421
+ build_type='Debug' ,
422
+ cmake_extra='-DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON' ,
423
+ extra_setup=debian_backports('bullseye' , ['cmake' ])),
424
+
425
+ // Static debian 11 armhf (upload to builds.lokinet.dev)
426
+ debian_pipeline('Debian 11 static [ARMHF]' ,
427
+ docker_base + 'debian-bullseye/arm32v7' ,
428
+ arch='arm64' ,
429
+ deps=['g++' , 'python3-dev' , 'automake' , 'libtool' ],
430
+ extra_setup=debian_backports('bullseye' , ['cmake' ]),
431
+ cmake_extra='-DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON ' +
432
+ '-DCMAKE_CXX_FLAGS="-march=armv7-a+fp -Wno-psabi" -DCMAKE_C_FLAGS="-march=armv7-a+fp" ' +
433
+ '-DNATIVE_BUILD=OFF -DWITH_SYSTEMD=OFF -DWITH_BOOTSTRAP=OFF' ,
434
+ extra_cmds=[
435
+ './contrib/ci/drone-check-static-libs.sh' ,
436
+ 'UPLOAD_OS=linux-armhf ./contrib/ci/drone-static-upload.sh' ,
437
+ ],
438
+ allow_fail=true , // XXX FIXME: build currently fails!
439
+ jobs=4 ),
440
+
441
+ // Ubuntu
442
+ debian_pipeline('Ubuntu latest [AMD64]' , docker_base + 'ubuntu-rolling' ),
443
+ debian_pipeline('Ubuntu LTS [AMD64]' , docker_base + 'ubuntu-lts' ),
444
+ debian_pipeline('Ubuntu 22.04 [AMD64]' , docker_base + 'ubuntu-jammy' ),
445
+ debian_pipeline('Ubuntu 20.04 [AMD64]' ,
411
446
docker_base + 'ubuntu-focal' ,
412
447
deps=['g++-10' ] + default_deps_nocxx,
413
448
extra_setup=kitware_repo('focal' ) + local_gnutls(),
414
449
cmake_extra='-DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10' ),
415
450
416
- // ARM builds (ARM64 and armhf)
417
- debian_pipeline('Debian sid (ARM64)' , docker_base + 'debian-sid' , arch='arm64' , jobs=4 ),
418
- debian_pipeline('Debian stable (armhf)' , docker_base + 'debian-stable/arm32v7' , arch='arm64' , jobs=4 ),
451
+ // Static ubuntu focal amd64 build (upload to builds.lokinet.dev)
452
+ debian_pipeline('Ubuntu 20.04 static [AMD64]' ,
453
+ docker_base + 'ubuntu-focal' ,
454
+ deps=['g++-10' , 'python3-dev' , 'automake' , 'libtool' ],
455
+ extra_setup=kitware_repo('focal' ),
456
+ lto=true ,
457
+ tests=false ,
458
+ oxen_repo=true ,
459
+ cmake_extra='-DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON ' +
460
+ '-DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 ' +
461
+ '-DCMAKE_CXX_FLAGS="-march=x86-64 -mtune=haswell" ' +
462
+ '-DCMAKE_C_FLAGS="-march=x86-64 -mtune=haswell" ' +
463
+ '-DNATIVE_BUILD=OFF -DWITH_SYSTEMD=OFF -DWITH_BOOTSTRAP=OFF -DBUILD_LIBLOKINET=OFF' ,
464
+ extra_cmds=[
465
+ './contrib/ci/drone-check-static-libs.sh' ,
466
+ './contrib/ci/drone-static-upload.sh' ,
467
+ ]),
468
+
419
469
420
470
// cross compile targets
421
471
// Aug 11: these are exhibiting some dumb failures in libsodium and external deps, TOFIX later
@@ -430,45 +480,12 @@ local docs_pipeline(name, image, extra_cmds=[], allow_fail=false) = {
430
480
//apk_builder('android apk', docker_base + 'flutter', extra_cmds=['UPLOAD_OS=android ./contrib/ci/drone-static-upload.sh']),
431
481
432
482
// Windows builds (x64)
433
- windows_cross_pipeline('Windows (amd64) ' ,
434
- docker_base + 'debian-bookworm ' ,
483
+ windows_cross_pipeline('Windows [AMD64] ' ,
484
+ docker_base + 'debian-win32-cross ' ,
435
485
extra_cmds=[
436
486
'./contrib/ci/drone-static-upload.sh' ,
437
487
]),
438
488
439
- // Static build (on focal) which gets uploaded to builds.lokinet.dev:
440
- debian_pipeline('Static (focal amd64)' ,
441
- docker_base + 'ubuntu-focal' ,
442
- deps=['g++-10' , 'python3-dev' , 'automake' , 'libtool' ],
443
- extra_setup=kitware_repo('focal' ),
444
- lto=true ,
445
- tests=false ,
446
- oxen_repo=true ,
447
- cmake_extra='-DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON ' +
448
- '-DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 ' +
449
- '-DCMAKE_CXX_FLAGS="-march=x86-64 -mtune=haswell" ' +
450
- '-DCMAKE_C_FLAGS="-march=x86-64 -mtune=haswell" ' +
451
- '-DNATIVE_BUILD=OFF -DWITH_SYSTEMD=OFF -DWITH_BOOTSTRAP=OFF -DBUILD_LIBLOKINET=OFF' ,
452
- extra_cmds=[
453
- './contrib/ci/drone-check-static-libs.sh' ,
454
- './contrib/ci/drone-static-upload.sh' ,
455
- ]),
456
- // Static armhf build (gets uploaded)
457
- debian_pipeline('Static [FIXME] (bullseye armhf)' ,
458
- docker_base + 'debian-bullseye/arm32v7' ,
459
- arch='arm64' ,
460
- deps=['g++' , 'python3-dev' , 'automake' , 'libtool' ],
461
- extra_setup=debian_backports('bullseye' , ['cmake' ]),
462
- cmake_extra='-DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON ' +
463
- '-DCMAKE_CXX_FLAGS="-march=armv7-a+fp -Wno-psabi" -DCMAKE_C_FLAGS="-march=armv7-a+fp" ' +
464
- '-DNATIVE_BUILD=OFF -DWITH_SYSTEMD=OFF -DWITH_BOOTSTRAP=OFF' ,
465
- extra_cmds=[
466
- './contrib/ci/drone-check-static-libs.sh' ,
467
- 'UPLOAD_OS=linux-armhf ./contrib/ci/drone-static-upload.sh' ,
468
- ],
469
- allow_fail=true , // XXX FIXME: build currently fails!
470
- jobs=4 ),
471
-
472
489
/*
473
490
// integration tests
474
491
debian_pipeline('Router Hive',
0 commit comments