Commit Graph

7628 Commits

Author SHA1 Message Date
Jason Rhinelander
bfc6d35b33 Simplifications & C++17
- Modernize some iterator loops
- Simplify a couple places by using `if (init; ...)`
- Replace various std::binds with lambdas
2021-11-14 10:11:00 -04:00
Jason Rhinelander
41807f1763 transit hop: drop instead of flushing when full
If full happens we are going to trigger a bunch of flushes which
probably isn't very useful, so drop instead.
2021-11-14 10:10:58 -04:00
Jason Rhinelander
cf5c4e7284 outbound_message_handler: skip instead of aborting on removed paths 2021-11-14 10:10:19 -04:00
Jason Rhinelander
633431be66 Make outbound message queue PumpLL again if it doesn't send all 2021-11-14 10:10:19 -04:00
Jason Rhinelander
faf95cbd0a Allow a nullptr callback for event loop PumpLL 2021-11-14 10:07:31 -04:00
Jeff Becker
8a9025e234 only pump path context in idempotent pumpll 2021-11-14 10:07:31 -04:00
Jeff Becker
bb86996acf make event loop pump function non idempotent 2021-11-14 10:07:31 -04:00
Jeff Becker
8744c93944 prevent 100% cpu usage on service nodes
call_soon wakes up the mainloop and is often reentrant, we dont want to
ever way up the event loop but we also want to always defer the call so
we always use the workers
2021-11-14 10:07:11 -04:00
Jeff Becker
22d4b88edc
make PumpLL idempotent to reduce cpu use a bit 2021-11-09 11:59:57 -05:00
Jason Rhinelander
1ddfb7420a
Merge pull request #1791 from majestrate/exclude-failing-from-queue-2021-10-29
exclude fully failed nodes from service node testing list
2021-10-29 14:44:16 -03:00
Jason Rhinelander
0ec50e6624 Fix comment typo 2021-10-29 11:52:54 -03:00
Jeff Becker
fcba709fcb
do not requeue nodes for testing from failing queue if we do not have them marked as failing anymore 2021-10-29 10:46:50 -04:00
Jeff
60c1b69ea3
Merge pull request #1784 from jagerman/deb-docker-images
Generate CI images with much DRY-er Python dockerfile generating script
2021-10-28 14:01:04 -04: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
fd81ee76af
Merge pull request #1778 from majestrate/net-range-detection-bug-2021-10-22
check for intersecting ip ranges correctly, add unit test
2021-10-27 21:29:23 -03:00
Jason Rhinelander
52f8273dc1
Merge pull request #1781 from majestrate/bump-static-deps-2021-10-25
bump libunbound static dep hashpin
2021-10-27 16:44:39 -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
Jeff Becker
b5f5d07f03
bump libunbound static dep hashpin 2021-10-25 11:35:50 -04:00
Jason Rhinelander
808c2df6cc
Merge pull request #1779 from jagerman/ci-python-deps
Add python packages to ci images
2021-10-22 20:12:00 -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
Jeff Becker
6c70022dcc
check for intersecting ip ranges correctly, add unit test 2021-10-22 15:53:19 -04:00
Jeff Becker
1a360c1a36
version bump to 0.9.7 2021-10-19 15:17:42 -04:00
Jason Rhinelander
410e98f4eb
Merge pull request #1775 from jagerman/parallel-submodules
Fetch CI submodules in parallel
2021-10-18 22:26:53 -03:00
Jason Rhinelander
45249422b1 Fetch CI submodules in parallel 2021-10-18 13:50:43 -03:00
Jeff
dce6c1e3b6
Merge pull request #1774 from jagerman/clang-13
Docker + clang updates
2021-10-18 07:13:21 -04:00
Jason Rhinelander
7bc86ff983 Reorder pipelines to put static builds together 2021-10-17 23:44:03 -03:00
Jason Rhinelander
b64a38ff2c Add missing xz-utils to buster 2021-10-17 23:42:13 -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
4351611859 Add automake, libtool, libjemalloc-dev 2021-10-17 17:22:26 -03:00
Jason Rhinelander
0a9b020555 Update Catch2 to latest to fix build on impish 2021-10-17 16:30:43 -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
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
Jason Rhinelander
6f58648161 Add libzmq3-dev; change deps into arrays
We're currently rebuilding libzmq3-dev all the time in most of the CI
jobs.
2021-10-16 15:16:55 -03:00
Jason Rhinelander
9c32058a50 Remove windows linefeeds 2021-10-16 15:16:55 -03:00