Commit Graph

138 Commits

Author SHA1 Message Date
Jason Rhinelander
1ca81713ab
Bump armhf static build to bullseye
Use backports for cmake because ngtcp2 needs 3.20+.
2023-10-27 12:22:48 -03:00
Jason Rhinelander
e237d5ad6e
Don't export CC
This was causing cmake to double-invoke ccache for compilation units,
and broke oxen-mq's local zmq build for the same reason.
2023-10-26 16:27:14 -03:00
Jason Rhinelander
d2667cfb89
Disable Router Hive & DEB builds
They aren't useful right now.
2023-10-25 17:00:51 -03:00
Jason Rhinelander
c18ad4c618
Temporarily disable building/running test suite 2023-10-25 12:11:19 -03:00
dr7ana
81aa044baa kitware CI deps
- stupid warn deprecated stupid
2023-09-13 10:15:54 -07:00
dr7ana
0b6506a00b oxen-libquic version bump
- added CI fixes for gnutls build
2023-09-13 09:50:23 -07:00
dr7ana
9acac2c33e CI fixes
- oxen-logging updated to bump fmt version
- version bump oxen-logging to fix fmt version
- version bump oxen-mq to solve uniform distribution error
- misc errors introduced by above version bumps
- clang-format 14 -> 15
2023-08-11 14:01:07 -07:00
Jeff Becker
dcd4623d2e
[win32 ci pipeline]
bookworm has no need for alternatives for mingw.

remove update-alternatives from the pipeline
2023-01-03 09:28:28 -05:00
Thomas Winget
a9a2a115bc
debian missing yacc apparently all of a sudden 2022-10-27 09:32:06 -04:00
Jason Rhinelander
caf97b1861
Split windows into gui/main builds, main now builds on bookworm
The options we need in rsvg-convert are apparently too new for bullseye,
so split the build so that we do the gui separately (in the nodejs-lts
container) and then build lokinet in bookworm.
2022-10-26 14:17:18 -03:00
Jason Rhinelander
c8aa53a456
Use rsvg instead of imagemagick to make windows .ico
imagemagick is messing up the conversion, so just avoid it entirely and
use rsvg-convert directly to do it instead.
2022-10-26 13:24:34 -03:00
Jason Rhinelander
6be4621aea
Use Windows-y 'x64' instead of '64bit' in static upload 2022-10-26 11:42:56 -03:00
majestrate
cd858a00ea
Merge pull request #2027 from jagerman/clang-format-14
Bump clang-format to 14
2022-10-21 12:57:12 -04:00
Jason Rhinelander
d011f8fb4a
Bump clang-format to 14 2022-10-20 19:53:52 -03:00
Jason Rhinelander
0e09539b61 CI fixes
- cd .. after the build, before running extra_cmds, because the scripts
  we invoke expect to be in the root, not in the build dir (and it's
  dirtier for the build function to not undo the `cd build` that it
  runs).
- fix unclosed parenthesis in mac static lib checker
2022-10-20 12:46:36 -03:00
Jason Rhinelander
25d73d627a
Remake non-mac icon; regenerate during build for windows
The non-mac icon was an old version with white foreground and a
completely transparent background, but this looks bad (or invisible)
depending on where you view it.  This updates it based on the macos
icon, but with a round white circle background instead of the macos
"squircle" background.

This also replaces the .ico file for the installer with one that we
build during the win32 build rather than a pregenerated one.

Bumps the gui as well to a version with the new icons in place.
2022-10-06 21:32:58 -03:00
Jason Rhinelander
006394315d
Add local mirror to most jobs; build script cleanups 2022-10-05 19:29:47 -03:00
Jason Rhinelander
90be75d04e
Disable mips cross compile build on ci 2022-09-19 21:54:36 -03:00
Jason Rhinelander
9529553cf6
Add oxen build mirror to linux static builds 2022-09-19 20:42:45 -03:00
Jason Rhinelander
616f559761
macos CI fixes
- Split up mac.sh into a configure + build scripts (like Windows).
- Don't attempt to build the 'package' target in CI: apparently you have
  to have a logged in user at the GUI in order to build a .dmg because
  being obtuse is the Apple way.
- Upload the raw Lokinet unsigned app in a .tar.xz, rather than dmg,
  because of the above.
- make mac.sh respect JOBS (pun not intended (but still good))
2022-09-19 20:26:41 -03:00
Jeff Becker
4490fdcf46
fix up CI
add jason's suggested changes for artifact upload

use lokinet-ci-nodejs-lts as base image so we can build the installer

update ci pipeline for windows to have building gui toggle-able

by default we will build the gui from this repo, but this allows it to
easily run using a custom gui asset if needed
2022-09-08 14:25:01 -04:00
Jeff
871c3e3281
changeset for windows port
* wintun vpn platform for windows
* bundle config snippets into nsis installer for exit node, keyfile persisting, reduced hops mode.
* use wintun for vpn platform
* isolate all windows platform specific code into their own compilation units and libraries
* split up internal libraries into more specific components
* rename liblokinet.a target to liblokinet-amalgum.a to elimiate ambiguity with liblokinet.so
* DNS platform for win32
* rename llarp/ev/ev_libuv.{c,h}pp to llarp/ev/libuv.{c,h}pp as the old name was idiotic
* split up net platform into win32 and posix specific compilation units
* rename lokinet_init.c to easter_eggs.cpp as that is what they are for and it does not need to be a c compilation target
* add cmake option STRIP_SYMBOLS for seperating out debug symbols for windows builds
* intercept dns traffic on all interfaces on windows using windivert and feed it into lokinet
2022-09-08 14:24:59 -04:00
Jason Rhinelander
955cecb21d Drone macos fixes
- fix lib check script to look at the network extension
- amend the list of intented linked libs
- upload the dmg
2022-08-30 16:20:28 -03:00
Jason Rhinelander
49b2878209 Require explicit disabling of codesigning
Make the mac build require passing either an explicit -DCODESIGN=OFF or
the code signing identities.
2022-08-12 20:23:00 -03:00
Jason Rhinelander
b81f7025c9
Replace logging with oxen-logger
Replaces custom logging system with spdlog-based oxen logging.  This
commit mainly replaces the backend logging with the spdlog-based system,
but doesn't (yet) convert all the existing LogWarn, etc. to use the new
format-based logging.

New logging statements will look like:

    llarp::log::warning(cat, "blah: {}", val);

where `cat` should be set up in each .cpp or cluster of .cpp files, as
described in the oxen-logging README.

As part of spdlog we get fmt, which gives us nice format strings, where
are applied generously in this commit.

Making types printable now requires two steps:
- add a ToString() method
- add this specialization:

      template <>
      constexpr inline bool llarp::IsToStringFormattable<llarp::Whatever> = true;

This will then allow the type to be printed as a "{}" value in a
fmt::format string.  This is applied to all our printable types here,
and all of the `operator<<` are removed.

This commit also:
- replaces various uses of `operator<<` to ToString()
- replaces various uses of std::stringstream with either fmt::format or
  plain std::string
- Rename some to_string and toString() methods to ToString() for
  consistency (and to work with fmt)
- Replace `stringify(...)` and `make_exception` usage with fmt::format
  (and remove stringify/make_exception from util/str.hpp).
2022-07-15 22:17:59 -03:00
Jason Rhinelander
34c3b8d0de
Add oxen repo to bionic for updated cmake version
Also rename the arg from loki_repo to oxen_repo
2022-05-30 17:08:27 -03:00
Jeff
994c6e1a21
remove focal deb build from ci 2022-05-27 11:34:15 -04:00
Jeff
0df26fe81c
bump ci to make jammy debs 2022-05-27 11:34:15 -04:00
Jeff
d85d208156
bump libuv version with hashpin 2022-05-02 17:31:21 -04:00
Jeff
8efac67c0a
add static deps mirror to ci 2022-05-02 16:52:32 -04:00
Jeff
546aede528
add mirror for cmake static deps 2022-05-02 16:32:45 -04:00
Jeff
17687e300e drone-ci image name fix, use -builder images 2022-03-30 19:38:41 -04:00
Jeff
77bf2f4af9 disable building fat liblokinet.so on bionic because lto is broken on bionoic still 2022-03-30 17:35:45 -04:00
majestrate
65ef0e4bfb
Merge pull request #1849 from majestrate/dry-cross-2022-02-02
dry cross compile
2022-03-30 16:48:00 -04:00
Jeff
7265a6c80e ci pipeline for cross compile 2022-03-16 14:21:40 -04:00
Jeff
bebfcbdba2 move documentation builder closer to the top of the ci jobs 2022-02-17 18:01:53 -05:00
Jeff
97f4545fd5 make CI pipline generate docs with doxygen, doxybook2 and mkdocs. 2022-02-17 18:01:53 -05:00
Jeff
7e92f36b6a disable tests by default
make ci enable tests explicitly
2022-01-25 13:15:37 -05:00
Jeff Becker
8c6bf31c52
paralellize android build much better
* split up configure step and build step so that build steps goes all at once
* update ci to use new build structure for android
2021-11-23 12:43:54 -05:00
Jeff Becker
e7d282993a
in static linux ci pipeline disable building lokinet-bootstrap and bundle a bootstrap.signed 2021-11-16 09:43:08 -05:00
Jason Rhinelander
45249422b1 Fetch CI submodules in parallel 2021-10-18 13:50:43 -03:00
Jason Rhinelander
7bc86ff983 Reorder pipelines to put static builds together 2021-10-17 23:44:03 -03:00
Jason Rhinelander
31d2242cc6 Disable ABI warnings on buster/armhf 2021-10-17 23:11:17 -03:00
Jason Rhinelander
d27a095f1f Fix arch-specific docker repo names 2021-10-17 18:11:55 -03:00
Jason Rhinelander
f71d795f1d Make sure we always pull the latest image 2021-10-17 18:04:34 -03:00
Jason Rhinelander
55356face2 No recommends 2021-10-17 17:33:30 -03:00
Jason Rhinelander
76d69a3d70 Add cached images with debhelper & related tools for deb pipelines 2021-10-17 17:27:40 -03:00
Jason Rhinelander
47d8c95e68 CI docker multiarch
Adds multiarch docker images and starts using them.
2021-10-17 14:46:30 -03:00
Jason Rhinelander
1dccbb5814 Update deb repo dns name 2021-10-16 16:00:27 -03:00
Jason Rhinelander
ca9d979361 Docker image updates
- split debian sid into base/sid/clang images
- similarly for debian stable
- add jsonnet to lint
- add `--pull` to docker build so that we always pull the latest images
  (otherwise we were building on whatever local cache we have for
  `debian:sid`, etc., which made the base image update layer much
  larger).
- don't install Recommends by default
- add libzmq3-dev
- split android into android (base) and flutter
- hard-code registry.oxen.rocks into the dockerfile stuff because that
  seems to be the only way to properly depend on other docker builds.
- update a few CI builds that should have been using our images but
  weren't.
- Update a few CI images to bullseye instead of buster

Add openssh-client (for sftp to upload builds)
2021-10-16 15:54:22 -03:00