25 Commits

Author SHA1 Message Date
Andrew Stein
ed53227f9c Add presize API to <perspective-viewer>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2026-03-23 12:26:59 -04:00
Tom Jakubowski
59e327ca16 ci: Revert to mainline actions-setup-cmake
The change we needed from my fork to support aarch64 Linux has been
merged:

<https://github.com/jwlawson/actions-setup-cmake/pull/83>

Reverting back away from my fork to the main repo for this action.

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2026-02-24 10:39:01 -08:00
Andrew Stein
3a29023c29 Upgrade rust toolchain, maturin, emscripten, Python min version to 3.11
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2026-02-06 17:48:12 -05:00
Andrew Stein
9fc339f3b6 Reduce disk usage for CI actions
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-12-15 21:04:18 -05:00
Tom Jakubowski
7e0734f4fe Fix protoc().parent() call
`Path::parent()` returns `None` for root and empty paths, so handle it
by panicking in this case.  In this case it should never happen under
non-contrived circumstances.

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2025-12-09 14:00:23 -08:00
Konstantinos Samaras-Tsakiris
434b81b6b2 Review comments
- Simplify arch detection in cmake

- Try not reinstalling rustup

- Use the existing method of installing protoc correctly

Signed-off-by: Konstantinos Samaras-Tsakiris <ksamtsak@gmail.com>
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2025-12-09 14:00:22 -08:00
Konstantinos Samaras-Tsakiris
b7a87b7756 Add arm64 builds to CI
- Ensure rustup gets the version appropriate for the architecture
- Add a manylinux container for arm
- Fix target for native arm compilation
- Fix cmake install in pagmo2/arm64
- Fix protoc arch in cmake

Signed-off-by: Konstantinos Samaras-Tsakiris <ksamtsak@gmail.com>
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2025-12-09 14:00:19 -08:00
Tom Jakubowski
ed2941011a Start on building aarch64 linux wheels
- Use fork of actions-setup-cmake install until arm support is
  upstreamed <https://github.com/jwlawson/actions-setup-cmake/pull/83>
- Add arm runner to matrix + use manylinux container
- Upload built artifacts

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2025-12-09 13:34:59 -08:00
Andrew Stein
753206c786 Clean up namespaces
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-10-26 20:36:16 -04:00
Andrew Stein
462dd54559 Nightly versions
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-05-08 22:41:32 -04:00
Timothy Bess
3d62117b25 Nightly Artifacts
This modifies the CI to upload artifacts on every commit to master so
that we can store pull them nightly to release elsewhere.

Signed-off-by: Timothy Bess <timbessmail@gmail.com>
2025-05-01 11:07:44 -04:00
Andrew Stein
ad24fe4d51 Add reconnect and error UI to perspective-viewer
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2025-03-06 11:29:51 -05:00
Tom Jakubowski
5f8fdc36b9 ci: separate build/test emscripten wheel jobs
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2025-01-28 13:07:23 -08:00
Tom Jakubowski
a8d6c14c15 Remove vcpkg from CI
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-11-04 19:39:48 -08:00
Tom Jakubowski
f8a5798238 Amalgam of conda patches and build fixes
Did this work a bit out of order so squashed it all into one commit.

Conda related:
- switch to BUNDLED arrow dependency source
  - this lets us remove our direct deps on lz4, flatbuffers, zstd
- add abi3 feature to crate + enable unless CONDA_BUILD is set
- when CONDA_BUILD is set, pass PYTHON to maturin build
  --interpeter flag
- remove vestigal use of CMAKE_ARGS from .txt.in files
- parse CMAKE_ARGS from environment (unrelated to above item)
  - this is so we pick up the cross-compiling toolchain (i.e.
    CMAKE_LIBTOOL) in conda

Not conda related:
- switch away from global include_directories() calls
  - these add include paths to every target, including our dependencies
  - instead, export lists of INCLUDE_DIRS from every dependency,
    and then assemble them into a list to be passed to
    `target_include_directories` on the psp and perspective_esm targets
  - decouples order of psp_build_dep() calls and order of include
    directories
- switch Boost from a system dependency to psp_build_dep
  - eventually, to support Conda, we'll add a "use system dependency"
    feature to psp_build_dep for all dependencies
  - caveat: the boost download is a bit slow

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-10-17 19:59:03 -07:00
Andrew Stein
3b7559dbd6 Add generate_metadata crate for TypeScript types and docs
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-10-16 22:32:41 -04:00
Andrew Stein
3f6e19c79f Fix clean script
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-10-16 21:52:59 -04:00
Andrew Stein
a9b92581f0 Removes explicit perspective-server webworker
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-09-22 21:01:38 -04:00
Tom Jakubowski
d1100bddf5 Add pytest-pyodide tests
Integration/smoke tests for the Pyodide wheel, which run for the
perspective-pyodide virtual package and in the Pyodide CI actions.

Some changes which support installing the wheels in a pytest-pyodide
environment:

- Defer some third-party imports to "run time" by moving them deeper
  than module scope
- Add try/except guards to widget re-exports so that wheel can be used
  without Jupyter being installed
- Move Jupyter deps in pyproject.toml to an optional-dependencies group

Signed-off-by: Tom Jakubowski <tom@prospective.dev>
2024-09-10 11:18:18 -07:00
Andrew Stein
f01cf2b7ea Support packaging in CI
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-09-02 21:29:54 -04:00
Timothy Bess
f79b9c82c6 Divorce C++ from Rust Python bindings.
Signed-off-by: Timothy Bess <tim@prospective.dev>
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-08-14 00:17:56 -04:00
Andrew Stein
e7d92abef4 Add sdist, lint
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-08-03 19:48:40 -04:00
Andrew Stein
1e0413f32d Manylinux builds
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-07-24 00:46:23 -04:00
Andrew Stein
4251f91e80 Add Windows & OSX
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-07-14 22:11:08 -04:00
Andrew Stein
99feef91c6 Update project build & CI
Signed-off-by: Andrew Stein <steinlink@gmail.com>
2024-07-04 18:36:39 -04:00