Commit Graph

69 Commits

Author SHA1 Message Date
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
Jeff
c70f1866f8 include mkdocs.yml in ci artifacts for docs 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
Jason Rhinelander
5de5091e8d docker CI: Fix error message 2021-11-16 20:24:47 -04: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
e6622c1d46 Install g++-8 on bionic 2021-10-28 13:49:37 -03:00
Jason Rhinelander
cd49031bd2 Fix race condition in interactive output 2021-10-28 13:49:20 -03:00
Jason Rhinelander
0b4c56dff5 Add hacks; add --distro to rebuild just one
Bionic is broken and needs a hack to create some dumb pgm include
directory.

Add --distro cli argument so that you can rebuild just one distro.
2021-10-26 17:38:17 -03:00
Jason Rhinelander
0572713533 Fix i386 builds 2021-10-26 15:10:54 -03:00
Jason Rhinelander
09e97eef77 Make it snazzy
Shows statuses that "fill in" when run interactively.
2021-10-26 14:57:58 -03:00
Jason Rhinelander
2064ca049d Parallelize builds 2021-10-26 14:05:35 -03:00
Jason Rhinelander
9b7ec7dd50 Add --no-cache option; fix manifest generation 2021-10-26 10:59:24 -03:00
Jason Rhinelander
1c4332ad6a Replace dockerfiles with a Python script 2021-10-26 03:28:49 -03:00
Jason Rhinelander
cbbee59774 Add a bunch of base CI images for building debs
Installs just the base tools (which are quite substantial), but not the
deps (which get installed as part of the build).
2021-10-26 03:25:26 -03:00
Jason Rhinelander
f3bac4ae72 Pass DOCKER_BUILD_OPTS env var to docker build 2021-10-22 19:15:46 -03:00
Jason Rhinelander
c7410660c8 Make sure we apt-get update in the build
The base image can get out of date.
2021-10-22 19:15:46 -03:00
Jason Rhinelander
78e829a03f Add python build deps to ci images 2021-10-22 19:15:46 -03:00
Jason Rhinelander
b64a38ff2c Add missing xz-utils to buster 2021-10-17 23:42:13 -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
4351611859 Add automake, libtool, libjemalloc-dev 2021-10-17 17:22:26 -03:00
Jason Rhinelander
d64e2ae0af Reformat RUN commands to make editing easier
- split them on multiple lines
- sort the installed package deps
- don't use extra unnecessary `bash` invocation
2021-10-17 15:20:52 -03:00
Jason Rhinelander
326670b959 Docker package updates:
- add `make`
- add `patch`
2021-10-17 15:13:36 -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
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
Jason Rhinelander
9b0b9fe67b Add jsonnet formatting (if jsonnet is installed) 2021-10-16 15:16:55 -03:00
Jeff Becker
63ed5c16ed
upload bare apk as ci artifact 2021-09-02 13:11:29 -04:00
Jeff Becker
92cfa8a558
dont bundle raw jni libs 2021-09-02 13:05:16 -04:00
Jeff Becker
f65ec8e79f
make ci try building the flutter apk in the android apk pipeline 2021-09-02 12:01:36 -04:00
Jeff Becker
a316f5f787
add wine as dependancy because god made windows so that man may suffer 2021-07-05 07:26:04 -04:00
Jeff Becker
da985c4c44
add docker image for nodejs 2021-07-05 07:26:03 -04:00
Jeff Becker
5924ca5b3f
update android ci docker jizz 2021-06-21 11:49:04 -04:00
Jeff Becker
9e65f262f9
update docker ci jizz to include flutter on android 2021-06-21 07:48:07 -04:00
Jeff Becker
6f9f527f50
ccache android builds in ci 2021-06-19 09:35:49 -04:00
Jeff Becker
0a1cc0fc90
fix android ci output path name so that it does not conflict 2021-06-19 09:35:49 -04:00
Jeff Becker
300638163b
typofix 2021-06-19 09:35:49 -04:00
Jeff Becker
79d881689d
fix windows static ci upload for windows 2021-06-19 09:35:49 -04:00
Jeff Becker
b7485b4b25
* make android ABIS list configurable
* fix android ci jizz, correct typo, upload generated assets
2021-06-19 08:05:05 -04:00
Jeff Becker
d79b9bf59a
update android ci docker image definition to include cmake and exclude gradle 2021-06-18 11:52:07 -04:00
Jeff Becker
e5bc34a7b1
[buildsystem] remove use of ninja entirely
* modify contrib/window.sh now uses makefiles
* create contrib/android.sh for building shared libs for android apk
* update drone ci jizz for android
* update cmake/StaticBuild.cmake to use $(MAKE) so that builds can parallelize (super epic)
* remove android directory as it is no longer needed
2021-06-18 11:48:23 -04:00
Jason Rhinelander
e5aa96ed7c Upgrade to clang-format 11
The formatting changes here are not too large and also nice: in
particular clang-format-11 appears to do better handling of `{...}`
constructor braces/arguments.
2021-03-05 13:36:31 -04:00
Jeff Becker
27685b1b6e
fix docker lines and dont install recommended packages 2021-03-04 17:03:02 -05:00
Jason Rhinelander
78a43e7163 Add oxen-core deps to docker images 2021-03-04 17:21:45 -04:00
Jeff Becker
b9d439558f
dont include lokinet-bootstrap.ps1 in ci builds 2021-03-04 14:05:44 -05:00
Jeff
f685d615bf
Merge pull request #1537 from majestrate/android-works-now-2021-02-11
Android
2021-03-02 14:08:40 -05:00
Thomas Winget
4c630e0437 Large collection of changes to make android work
- Previous android java and jni code updated to work, but with much love
  still needed to make it work nicely, e.g. handling when the VPN is
  turned off.

- DNS handling refactored to allow android to intercept and handle DNS
  requests as we can't set the system DNS to use a high port
  (and apparently Chrome ignores system DNS settings anyway)

- add packet router structure to allow separate handling of specific
  intercepted traffic, e.g. UDP traffic to port 53 gets handled by our
  DNS handler rather than being naively forwarded as exit traffic.

- For now, android lokinet is exit-only and hard-coded to use exit.loki
  as its exit.  The exit will be configurable before release, but
  allowing to not use exit-only mode is more of a challenge.

- some old gitignore remnants which were matching to things we don't
  want them to (and are no longer relevant) removed

- some minor changes to CI configuration
2021-03-02 13:18:22 -05:00
Jeff Becker
2655a64da0
redo ci pipeline:
* make cached docker containers for ci
* remove old docker files from root of repo
* use cached docker containers for ci
2021-03-02 07:21:57 -05:00
Jason Rhinelander
b3d2177e73
Fix build server name & path (#1516)
builds.lokinet.dev -> oxen.rocks
/loki-project/ -> /oxen-io/
2021-01-19 07:39:53 -05:00