The example client we're building is more than a "chat" program: it
has (beginnings of) support for wallets and eventually the full range of
capabilities implemented in nim-status.
Rename `examples/chat.nim` to `examples/client.nim` and make a number of
related changes/renamings that help to make it more clear that the example
client is a "client in general", not just a chat client.
Also, put the copied example waku chat2 code under `examples/waku/`.
Using a full matrix of static/shared linking has been useful in the past for
catching edge cases, but none have been experienced in recent months so limit
to static linking to reduce build and run times in this workflow. The full
matrix can always be activated in a PR branch if it's suspected we're bumping
into an edge case as experienced previously.
See: https://github.com/msys2/MINGW-packages/issues/9010
Also remove a previous workaround re: Rust in MSYS2/MINGW64 on Windows that's
no longer necessary.
And cleanup implementation of a workaround re: the `ar` utility on macOS,
i.e. do it the same way using an `if..fi` block.
The original intention was to use `newFuture` of nim-chronos but mixing use of
futures and `setSignalEventCallback` proved problematic so use a while/sleep
loop instead.
Until login tests are refactored, kill the Nim and C tests after they've been
running for 10 minutes.
On Windows, using *Git Bash's* `kill` to stop the backround tester task doesn't
work correctly; instead use Windows built-in `taskkill`.