Commit Graph

27 Commits

Author SHA1 Message Date
Jordan Rose
11e8353843 node: Update minimum macOS version to 12 (Monterey) to match Desktop 2025-11-06 16:19:02 -08:00
Jordan Rose
be59696a1b Enforce additional Python style checks
- flake8-comprehensions
- flake8-deprecated
- flake8-import-order
- flake8-quotes

The quoting rules are, roughly:
- Prefer single-quoted strings
- Unless it's a multi-line string / docstring
- Or the string contains an apostrophe
2025-10-16 13:48:03 -07:00
Jordan Rose
164e284423 bridge: Log on completing a future if many blocking tasks are live
This is a speculative log meant to see why the blocking thread pool
grows as large as it does for some people.
2025-09-26 09:45:03 -07:00
Jordan Rose
320245fcea node: End dependency on node-gyp and prebuildify
Invoke build_node_bridge.py directly, and teach it to do the things
node-gyp and prebuildify were helping us with.
2025-09-10 16:20:40 -07:00
Alex Bakon
64c186d4de Remove file prefixes from build artifacts
Co-authored-by: Jordan Rose <jrose@signal.org>
2025-05-06 15:49:16 -04:00
Jordan Rose
b742b3bd75 Check in each build script that debug-level logs *are* stripped
This is a bit "belt and suspenders" in that the build scripts are also
the code setting the `log` crate feature that strips the logs, but it
does at least add confidence that we haven't flipped a condition
somewhere, or that the `log` crate feature doesn't work the same way
anymore.
2025-03-21 17:16:33 -07:00
Alex Konradi
46ed44cd5e Upgrade Rust version to 2024-12-17 nightly 2024-12-20 13:59:31 -05:00
Jordan Rose
f5a6e6f4a8 Remove no-longer-needed polyval_armv8 cfg, and explain aes_armv8 2024-10-08 10:43:15 -07:00
Jordan Rose
a8814d16f8 Move all "testing-fns" APIs into libsignal-bridge-testing
This means they'll be shipped to clients, but still filtered out of
the device builds on Android (via having two separate libraries on
disk) and iOS (by not being included in non-simulator builds). The
biggest benefit of this is dropping the :android:makeTestJniLibraries
step for running libsignal's Android tests.
2024-08-27 08:29:06 -07:00
Jordan Rose
d0b1821888 node: Upload dump_syms output to releases instead of raw debug info 2024-07-19 16:19:53 -07:00
Jordan Rose
773530ecd1 Add type annotations to all our Python scripts
The main benefit of this is not our *own* type-checking; it's that
mypy will error out if you try to use a too-new Python API. And in
fact, we were already relying on Python 3.9 and didn't realize.

check_code_size.py works with JSON, so it still uses Any a fair bit.
2024-07-09 17:01:10 -07:00
Jordan Rose
9aa5d07c10 node: Build with (split) debug info
We don't save that debug info anywhere yet, but it's a start!
This is following the pattern of build-electron in RingRTC.
2024-07-09 13:26:21 -07:00
Alex Konradi
b064ec78c5 Upgrade rustc to latest nightly 2024-06-25 11:31:59 -04:00
Jordan Rose
1364e4812c node: Add yarn build-with-debug-level-logs
Similar to the previous commit, but for Node.
2024-06-13 12:08:31 -07:00
Alex Konradi
8959e64ed1 Build TESTING_ functions for Android test
Run tests that call native TESTING_ functions on Android. This requires 
building a separate version of libsignal_jni.so with the testing functions 
included. The test code is still omitted from the published artifacts.
2024-02-15 16:53:05 -05:00
Jordan Rose
2077213e64 node: include the libsignal version in the node module file on macOS
This shows up in crash dumps (and RingRTC has been doing it for a
while).
2024-02-09 09:42:16 -08:00
Jordan Rose
9aad792fc6 Update all the RustCrypto crates 2023-08-25 11:28:49 -07:00
Jordan Rose
6b86969113 node: Explicitly specify minimum macOS version to build for 2023-07-27 15:38:56 -07:00
Jordan Rose
f9dededc4c Node: On Windows in GitHub CI, *always* use $TMP as the build dir
Follow-up to ec4faf26 where we tried to guess if the build directory
path was short enough for non-long-path-aware build tools. Give up on
that and just always use $RUNNER_TEMP if that's shorter.
2022-12-01 10:31:56 -08:00
Jordan Rose
ec4faf2601 Node: On Windows in GitHub CI, use $TMP as the build directory
Otherwise, we can run into paths that exceed the classic Windows path
limit due to the nesting of build systems (GitHub Actions > node-gyp >
Cargo > CMake > Visual Studio). Unfortunately, at least some of Visual
Studio's tools are not long-path-aware.
2022-06-30 10:59:29 -07:00
Jordan Rose
ddce4ee3a4 Make it clear to node-gyp which action arguments are paths
On Windows, node-gyp tries to be helpful by changing forward slashes
to backslashes and making paths relative to the source root rather
than the build directory, and indeed we rely on that. However, it has
to guess what's a path and what isn't. Previously, we worked around
that by manually stripping the prepended "..\", but the node-gyp
maintainers suggested a better workaround of using joined arguments
instead (`--foo=bar` instead of `--foo bar`).
2021-09-21 10:28:11 -07:00
Andreas Schneider
a8a24f66c6 node: Build node modules with python3
This fixes the build on openSUSE Tumbleweed.
2021-06-09 09:19:17 +02:00
Jordan Rose
e9be91f34d build_node_bridge.py: fix debug build 2021-02-19 09:58:54 -08:00
Jordan Rose
10976eb755 Node: statically link the C runtime on Windows
On Windows, the C runtime doesn't come preinstalled, so we need to
link it to avoid passing a dependency on to our users.
2021-02-16 15:44:53 -08:00
Dennis Ameling
0042e0d60c Add Node multi-arch support 2021-02-13 01:45:37 +01:00
Jack Lloyd
b8674f713b Use LTO for building Node cdylib 2021-01-28 18:23:21 -05:00
Jack Lloyd
222ece9f92 Changes to support building Node library on Windows 2021-01-28 18:23:19 -05:00