Commit Graph
270 Commits
Author SHA1 Message Date
Wez Furlong ad54ad8a63 ci: locked: true is deprecated; update to args: --locked 2023-03-08 21:07:30 -07:00
Wez Furlong 69a9eb7ed6 explicitly run integration tests as the current user
This helps when we're running as root in a container on CI
2023-03-08 21:05:48 -07:00
Wez Furlong c0d7944e25 ci: source llvm toolset enable script 2023-03-08 20:30:19 -07:00
Wez Furlong cfd5e3a924 ci: speculative start at centos7 build 2023-03-08 19:51:55 -07:00
Wez Furlong c191b086b2 kumod: make --policy a required argument
it was optional when I was bootstrapping the code; it really
is required because you can't do anything without defining
any spools, and you need the policy script to do that.
2023-03-08 18:17:05 -07:00
Wez Furlong 4cd913e7bf improve some error handling; enable printing panics, capture core
and report non-zero exit status if initialization failed
2023-03-08 18:15:31 -07:00
Wez Furlong 4b7cbf9299 build.rs: remove unused import 2023-03-08 17:42:33 -07:00
Wez Furlong 50a123a0e3 Add version info to kumod 2023-03-08 17:38:15 -07:00
Wez Furlong 772e1e1b89 format 2023-03-08 17:37:54 -07:00
Wez Furlong 815ed0c6fc add issue template 2023-03-08 17:05:36 -07:00
Wez Furlong 55d3343ac5 config: implement pooling of lua contexts
and export some counters so that we can see into their usage
2023-03-08 16:53:04 -07:00
Wez Furlong 8152c0c24a traffic-gen: allow configuring message size, message count 2023-03-08 16:53:04 -07:00
Wez Furlong b7c6b1dd52 kumod: raise soft rlimit nofile -> hard limit on startup 2023-03-08 16:53:04 -07:00
Wez Furlong 78c9c45936 readme: delete content that now lives in docs/reference/queues.md 2023-03-08 16:53:03 -07:00
Wez Furlong c7860fa93f add temp and perm fail integration tests 2023-03-08 16:53:03 -07:00
Mike Hillyer 0cb2887536 Fixing linting errors. 2023-03-08 18:51:43 -05:00
Mike Hillyer 15cd2db097 Forgot the sub bullets. 2023-03-08 18:45:05 -05:00
Mike Hillyer 38afa339e4 Credits 2023-03-08 18:41:51 -05:00
Mike Hillyer 1dcac9228f And another typo. 2023-03-08 18:18:26 -05:00
Mike Hillyer 48c700519b Add more to the admonish, rebuild the remaining guidelines. 2023-03-08 18:17:04 -05:00
Mike Hillyer babe0dc1fd Moved the no help in Issues note to an Admonish. 2023-03-08 18:13:42 -05:00
Mike Hillyer 783a193538 First pass at the bug reporting page 2023-03-08 18:09:26 -05:00
Mike Hillyer 638ec8f3f9 Forgot the placeholder architecture doc. 2023-03-08 16:44:23 -05:00
Mike Hillyer dcc2ad6f6c Adding the overview section, fleshing out the preface. 2023-03-08 16:40:14 -05:00
Wez Furlong b458bbced1 refactor integration testing to make it a bit easier to use
Helpers for generating messages, summarizing deliveries,
reducing boilerplate in the tests themselves.

Add SMTP line length test.
2023-03-08 10:32:01 -07:00
Wez Furlong 092aacebb5 fix scheduler deadlock when core count is low
The GH actions CI hangs were due to a deadlock in rt_spawn.
The GH runners have only two cores available which meant
that it would only take one call to send_blocking or recv_blocking
to tie up the localset threads and deadlock.

This commit adjusts that logic to make rt_spawn async and to
provide a non-blocking fire and forget variant for the couple
of situations that need it.

Also adds a bit of tracing!
2023-03-08 07:38:35 -07:00
Wez Furlong 70ab30eb5c ci: keep cache even if the build or tests fail 2023-03-07 23:18:10 -07:00
Wez Furlong c7aa190315 ci: revert splitting of stages 2023-03-07 23:07:21 -07:00
Wez Furlong e65aa45740 turn up tracing to try to get more insight into hang on GH actions 2023-03-07 22:46:11 -07:00
Wez Furlong 0c8adcf68e ci: split rust into build and test stages 2023-03-07 22:36:23 -07:00
Wez Furlong 1488c2dfd7 add timeout when stopping daemon in integration tests 2023-03-07 22:26:14 -07:00
Wez Furlong 6e15132be0 more tweaks to integration tests
trying to figure out why they hang on GH actions
2023-03-07 22:07:28 -07:00
Wez Furlong 70e6c21839 capture egress path resolution failures
Log them as transient failures and also debug log them
2023-03-07 21:44:25 -07:00
Wez Furlong 25c229fae3 rustfmt 2023-03-07 20:22:04 -07:00
Wez Furlong 1d485d9fba dump delivery logs in integration test 2023-03-07 20:20:13 -07:00
Wez Furlong f4370faeac ci: make it easier to debug the new integration test 2023-03-07 19:37:57 -07:00
Wez Furlong 257dc4a25a flesh out integration testing some more
This has our first end-to-end integration test that validates
smtp -> source mta -> sink mta -> maildir
and confirms that the message has the right bits inside it.

The end to end test will get refactored into more easily usable
pieces in follow-up commit(s).
2023-03-07 18:42:14 -07:00
Wez Furlong 51d1408aa6 scaffolding for integration tests 2023-03-07 14:54:19 -07:00
Wez Furlong 92a5509af5 update simple_policy for changes to the dkim vault parameters 2023-03-07 14:52:36 -07:00
Wez Furlong fc17efb7c9 ci: use cargo nextest for running tests 2023-03-07 11:35:58 -07:00
Wez Furlong 3e97cea1f6 docs build: simplify dep logic a little 2023-03-07 11:31:01 -07:00
Wez Furlong 8d529d1692 ci: ensure we use the cargo.lock locked deps for cargo installed stuff 2023-03-07 11:30:24 -07:00
Wez Furlong 7df50feb64 ci: streamline workflows a bit 2023-03-07 11:25:40 -07:00
Wez Furlong 258d9f8f64 docs: add a bit of an explanation about queueing 2023-03-07 08:27:44 -07:00
Wez Furlong a05724e40c auto-format generate-toc.py too 2023-03-07 07:36:50 -07:00
Wez Furlong 6d23055570 deps: update to revised maildir PR 2023-03-07 07:20:57 -07:00
Wez Furlong 3e203eb0d1 switch to my redis-cell fork to avoid shared object in the build 2023-03-07 06:47:17 -07:00
Wez Furlong 96350031dc add index pages for redis and sqlite 2023-03-06 20:19:16 -07:00
Wez Furlong 7054fb31c9 switch to using human time for the queue related time intervals 2023-03-06 19:33:05 -07:00
Wez Furlong 5bb9363aaa docs: format 2023-03-06 19:16:35 -07:00