Commit Graph

69 Commits (8b321612da4e129b8eee4e02af755184d2405fe9)

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))
2 years ago
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
2 years ago
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
2 years ago
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
2 years ago
Jeff c70f1866f8 include mkdocs.yml in ci artifacts for docs 2 years ago
Jeff 97f4545fd5 make CI pipline generate docs with doxygen, doxybook2 and mkdocs. 2 years ago
Jason Rhinelander 5de5091e8d docker CI: Fix error message 3 years ago
Jeff Becker e7d282993a
in static linux ci pipeline disable building lokinet-bootstrap and bundle a bootstrap.signed 3 years ago
Jason Rhinelander e6622c1d46 Install g++-8 on bionic 3 years ago
Jason Rhinelander cd49031bd2 Fix race condition in interactive output 3 years ago
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.
3 years ago
Jason Rhinelander 0572713533 Fix i386 builds 3 years ago
Jason Rhinelander 09e97eef77 Make it snazzy
Shows statuses that "fill in" when run interactively.
3 years ago
Jason Rhinelander 2064ca049d Parallelize builds 3 years ago
Jason Rhinelander 9b7ec7dd50 Add --no-cache option; fix manifest generation 3 years ago
Jason Rhinelander 1c4332ad6a Replace dockerfiles with a Python script 3 years ago
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).
3 years ago
Jason Rhinelander f3bac4ae72 Pass DOCKER_BUILD_OPTS env var to docker build 3 years ago
Jason Rhinelander c7410660c8 Make sure we apt-get update in the build
The base image can get out of date.
3 years ago
Jason Rhinelander 78e829a03f Add python build deps to ci images 3 years ago
Jason Rhinelander b64a38ff2c Add missing xz-utils to buster 3 years ago
Jason Rhinelander 76d69a3d70 Add cached images with debhelper & related tools for deb pipelines 3 years ago
Jason Rhinelander 4351611859 Add automake, libtool, libjemalloc-dev 3 years ago
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
3 years ago
Jason Rhinelander 326670b959 Docker package updates:
- add `make`
- add `patch`
3 years ago
Jason Rhinelander 47d8c95e68 CI docker multiarch
Adds multiarch docker images and starts using them.
3 years ago
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)
3 years ago
Jason Rhinelander 9b0b9fe67b Add jsonnet formatting (if jsonnet is installed) 3 years ago
Jeff Becker 63ed5c16ed
upload bare apk as ci artifact 3 years ago
Jeff Becker 92cfa8a558
dont bundle raw jni libs 3 years ago
Jeff Becker f65ec8e79f
make ci try building the flutter apk in the android apk pipeline 3 years ago
Jeff Becker a316f5f787
add wine as dependancy because god made windows so that man may suffer 3 years ago
Jeff Becker da985c4c44
add docker image for nodejs 3 years ago
Jeff Becker 5924ca5b3f
update android ci docker jizz 3 years ago
Jeff Becker 9e65f262f9
update docker ci jizz to include flutter on android 3 years ago
Jeff Becker 6f9f527f50
ccache android builds in ci 3 years ago
Jeff Becker 0a1cc0fc90
fix android ci output path name so that it does not conflict 3 years ago
Jeff Becker 300638163b
typofix 3 years ago
Jeff Becker 79d881689d
fix windows static ci upload for windows 3 years ago
Jeff Becker b7485b4b25
* make android ABIS list configurable
* fix android ci jizz, correct typo, upload generated assets
3 years ago
Jeff Becker d79b9bf59a
update android ci docker image definition to include cmake and exclude gradle 3 years ago
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
3 years ago
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.
3 years ago
Jeff Becker 27685b1b6e
fix docker lines and dont install recommended packages 3 years ago
Jason Rhinelander 78a43e7163 Add oxen-core deps to docker images 3 years ago
Jeff Becker b9d439558f
dont include lokinet-bootstrap.ps1 in ci builds 3 years ago
Jeff f685d615bf
Merge pull request #1537 from majestrate/android-works-now-2021-02-11
Android
3 years ago
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
3 years ago
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
3 years ago
Jason Rhinelander b3d2177e73
Fix build server name & path (#1516)
builds.lokinet.dev -> oxen.rocks
/loki-project/ -> /oxen-io/
3 years ago