309 Commits

Author SHA1 Message Date
Jamie Pine
a3ef815a47 Update core tests workflow to enable manual trigger and disable automatic push events 2026-02-06 19:37:41 -08:00
Jamie Pine
20036ce664 Disable branch push trigger in core tests workflow and standardize YAML formatting for removal flags 2026-02-06 19:36:01 -08:00
Jamie Pine
f735852410 Refactor Tauri configuration for Windows and streamline resource management
- Updated the release workflow to conditionally include a Windows-specific configuration file for Tauri builds.
- Simplified the resource management in the Tauri configuration by removing unnecessary DLL paths from the main config and adding them to a new Windows-specific config file.
2026-02-06 18:13:24 -08:00
Jamie Pine
abb88f79fe Update Ubuntu hosts in release workflow for improved build performance
- Changed the host for Linux builds from `blacksmith-8vcpu-ubuntu-2204` to `blacksmith-16vcpu-ubuntu-2404`, enhancing build capacity.
- Updated the ARM host from `blacksmith-8vcpu-ubuntu-2204-arm` to `blacksmith-8vcpu-ubuntu-2404-arm` for consistency in the environment.
2026-02-06 15:42:45 -08:00
Jamie Pine
de2373b7d6 Add ARM crypto flags for aarch64 architecture in release workflow
- Introduced steps to set CFLAGS and CXXFLAGS for ARM architecture, enhancing build configuration for ARM-based systems.
2026-02-06 07:56:11 -08:00
Jamie Pine
bf6d3795d2 Refactor Windows LLVM configuration in setup-system action and release workflow
- Changed the shell for LLVM configuration from bash to PowerShell to align with Windows environment.
- Updated environment variable settings for `LIBCLANG_PATH` and modified PATH handling to ensure compatibility with MSVC's cl.exe.
- Removed unnecessary CMake compiler variables from the release workflow, streamlining the configuration process.
2026-02-06 02:33:09 -08:00
Jamie Pine
05f3654863 Enhance Windows build configuration in release workflow by adding CMake compiler variables
- Introduced `CMAKE_C_COMPILER` and `CMAKE_CXX_COMPILER` environment variables for Windows builds to specify the CMake compilers, improving build setup.
2026-02-06 01:56:31 -08:00
Jamie Pine
ac62d00e01 Enhance release workflow by adding fail-fast option and setting compiler variables for Windows builds
- Added `fail-fast: false` to the desktop build strategy to allow all jobs to run even if one fails.
- Introduced `CC` and `CXX` environment variables for Windows builds to specify the compiler, improving build configuration.
2026-02-06 00:41:21 -08:00
Jamie Pine
5082a694dc Add NASM installation step for Windows in release workflow 2026-02-06 00:13:15 -08:00
Jamie Pine
08ad5537c9 Implement mobile release workflow for iOS and Android builds
- Added a new GitHub Actions workflow (`mobile.yml`) for manual dispatch to build and release the React Native app for iOS and Android.
- Updated the publish artifacts action to change Windows bundle type from MSI to NSIS and adjusted related paths.
- Modified the front-end bundle path to reflect the new structure in the mobile app.
- Enhanced documentation to include details about the new mobile release process and required secrets.
2026-02-05 23:50:22 -08:00
Jamie Pine
711d75c285 Update GitHub Actions workflow to exclude ARM64 architecture from build space maximization step
- Modified the condition for maximizing build space to exclude ARM64 architecture, ensuring compatibility and optimizing resource usage during the build process.
- Updated Cargo.lock to reflect changes in dependencies.
2026-02-05 23:15:39 -08:00
Jamie Pine
b23ae40a01 v2.0.0-alpha.2 2026-02-05 23:12:55 -08:00
Jamie Pine
28ac407164 Remove pull request trigger from GitHub Actions release workflow 2026-02-05 23:00:55 -08:00
Jamie Pine
9de7ee88ed Update versioning across multiple packages and enhance GitHub Actions workflow
- Changed versioning from "2.0.0-pre.1" to "2.0.0-alpha.1" in various Cargo.toml files and package.json to reflect a new alpha release.
- Added support for ARM64 builds in the GitHub Actions workflow, including a new host configuration and installation of VA-API libraries for the ARM target.
- Introduced a new `bump` command in the xtask to facilitate version updates across all relevant files, improving version management.
2026-02-05 22:58:11 -08:00
Jamie Pine
92020cdc9e Refactor GitHub Actions workflow for CLI builds
- Removed commented-out sections for CLI builds to clean up the workflow file, enhancing readability and maintainability.
- Updated the server build configuration to change the bundle type from MSI to NSIS for Windows builds, aligning with deployment requirements.
- Adjusted artifact paths to include .exe and .nsis.zip files, ensuring proper artifact management during the release process.
2026-02-05 22:40:56 -08:00
Jamie Pine
ab9c39526d Update GitHub Actions workflow to install VA-API libraries for ARM64
- Added a step to install VA-API libraries in the release workflow specifically for the ARM64 target, enhancing multimedia processing capabilities.
- Adjusted the file path in the Tauri configuration to ensure correct library linking, improving deployment consistency.
2026-02-05 21:59:50 -08:00
Jamie Pine
350e7760b2 Update GitHub Actions workflow for ARM and x86_64 builds
- Modified host and target configurations for ARM builds to use `blacksmith-4vcpu-ubuntu-2204-arm` and `aarch64-unknown-linux-gnu`, enhancing compatibility.
- Updated x86_64 build host to `blacksmith-8vcpu-ubuntu-2204`, ensuring consistency across platforms.
2026-02-05 21:17:30 -08:00
Jamie Pine
2ea55d86e1 Merge branch 'main' into release-build-fixes 2026-02-05 21:12:36 -08:00
Jamie Pine
ae0e0d0440 Refactor GitHub Actions workflow for native dependencies setup
- Replaced the Rust toolchain setup action with a custom action for improved maintainability.
- Consolidated the native dependencies setup step, removing platform-specific conditions for a more streamlined process.
- Simplified the build step for the server binary by removing platform-specific conditions, enhancing clarity and reducing redundancy.
2026-02-05 20:36:07 -08:00
Jamie Pine
bbfa798d7a Update GitHub Actions workflow to include gnutls library for native dependencies
- Added the installation of the `libgnutls28-dev` package to the x86_64 native dependencies setup in the release workflow, enhancing security and compatibility for multimedia processing.
2026-02-05 20:10:46 -08:00
Jamie Pine
50ff7302cb Enhance ARM64 library installation in GitHub Actions workflow
- Updated the installation step for FFmpeg libraries in the ARM64 section of the release workflow to include additional VA-API libraries, improving multimedia support.
- Renamed the installation step for clarity, reflecting the inclusion of both FFmpeg and VA-API libraries.
2026-02-05 19:36:50 -08:00
Jamie Pine
9a540db1a5 Refactor GitHub Actions workflow for ARM64 cross-compilation
- Updated the release workflow to improve ARM64 cross-compilation support by modifying host configurations and installation steps.
- Changed the host for ARM builds to `blacksmith-4vcpu-ubuntu-2204-arm` and streamlined the installation of OpenSSL and FFmpeg libraries for ARM64.
- Removed unnecessary APT configuration steps for ARM and adjusted the installation commands for clarity and efficiency.
2026-02-05 19:09:35 -08:00
Jamie Pine
25b1423df8 Update GitHub Actions workflow to use self-hosted runners and specific configurations
- Changed build hosts for various platforms to utilize self-hosted runners and specific configurations for improved performance and consistency.
- Updated Linux and Windows build hosts to reflect new self-hosted environments, enhancing the release process.
2026-02-05 18:53:52 -08:00
StarbirdTech
74d3b82a87 feat(core): add speech-to-text feature flag for optional AI dependencies
Introduces a proper feature flag hierarchy for AI-related dependencies,
allowing lite builds without heavy speech-to-text dependencies.

Feature hierarchy:
- `ai` - umbrella feature for all AI capabilities
- `speech-to-text` - transcription capability (requires ffmpeg + whisper)
- `whisper` - Whisper speech recognition engine (internal)
- `ffmpeg` - audio/video processing (existing)

Changes:
- Make whisper-rs, hound, rubato optional deps behind `whisper` feature
- Add `speech-to-text` feature that requires both ffmpeg and whisper
- Add `ai` umbrella feature that enables all AI features
- Update all cfg guards to use semantic `#[cfg(feature = "speech-to-text")]`
- Expose new features in apps/server and apps/cli
- Update release workflow to include `ai` feature (maintains existing behavior)

This enables:
- Mobile builds without STT (smaller binary, already using default-features=false)
- Desktop "lite" builds for users who want minimal size
- Future AI features can be added under the `ai` umbrella

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 00:07:07 -05:00
Jamie Pine
83daefd3bc Update GitHub Actions workflow for release process
- Re-enabled the pull_request trigger for specific paths to enhance workflow automation.
- Updated macOS build hosts to use specific versions (macos-15-arm64 and macos-15-intel) for improved compatibility and performance during the release process.
2026-01-28 17:28:00 -08:00
blacksmith-sh[bot]
6003e8b1e3 Migrate workflows to Blacksmith 2026-01-29 01:06:58 +00:00
Jamie Pine
52f1073238 Refactor GitHub Actions workflow for release process
- Commented out the pull_request trigger to simplify the workflow.
- Re-enabled Windows build steps for x86_64 architecture, ensuring proper configuration for Windows builds in the release process.
2026-01-28 17:04:21 -08:00
Jamie Pine
991956b8cd Enhance Tauri application with updater functionality
- Integrated the tauri-plugin-updater to enable automatic updates for the application.
- Updated tauri configuration to include updater artifacts and defined permissions for the updater in the capabilities schema.
- Refactored the main.rs file to initialize the updater plugin during application startup.
- Improved the handling of file sources in the mobile explorer, simplifying the logic for fetching files.
- Cleaned up unused search functionality in the mobile search screen, ensuring a more streamlined user experience.
2026-01-28 16:38:40 -08:00
Jamie Pine
19ca8ef320 fix(ci): split server native deps setup for cross-compilation
The x86_64 build was getting empty env vars that broke openssl-sys, and the aarch64 build needed cross-compiler env vars during xtask setup. Split into separate conditional steps to fix both.
2026-01-24 21:46:27 -08:00
Jamie Pine
d7b3cc94d5 Enhance aarch64 cross-compilation support in GitHub Actions workflow
- Added environment variables for aarch64 architecture to configure the linker and compiler settings dynamically based on the target triple.
- Improved the setup process for native dependencies, ensuring proper configuration for aarch64 builds, which enhances cross-compilation capabilities.
2026-01-24 21:18:29 -08:00
Jamie Pine
13f7eeb9ae Enhance cross-compilation support in build process
- Added CARGO_BUILD_TARGET environment variable to the GitHub Actions workflow for better target management during builds.
- Updated package.json scripts to conditionally include the target option for the daemon build commands, improving flexibility for different architectures.
- Refactored the setup function in main.rs to utilize a dynamic target triple for building the release daemon, ensuring compatibility across various systems.
2026-01-24 20:41:39 -08:00
Jamie Pine
87889e5a7f Enhance native dependencies verification in GitHub Actions workflow
- Improved the verification step for native dependencies by checking the existence of the apps/.deps/lib directory and ensuring that .so files are present.
- Added detailed output for the contents of the directory and the count of .so files, providing better feedback during the build process.
2026-01-24 19:14:41 -08:00
Jamie Pine
16517fde88 Add FFmpeg libraries installation for ARM architecture in GitHub Actions workflow
- Included a new step to install FFmpeg libraries specifically for the aarch64 architecture, enhancing multimedia processing capabilities during the build process.
- This addition ensures that all necessary dependencies for FFmpeg are available for ARM builds, improving cross-compilation support.
2026-01-24 18:47:06 -08:00
Jamie Pine
234518d17d Update GitHub Actions workflow to include g++ for aarch64 builds
- Added g++-aarch64-linux-gnu to the installation step for aarch64 architecture, ensuring C++ support during the build process.
- Updated environment variables for aarch64 builds to specify the C++ compiler, enhancing the cross-compilation setup.
2026-01-24 17:43:04 -08:00
Jamie Pine
f6cf446dad Enhance GitHub Actions workflow for server binary builds
- Added conditional steps to build server binaries for both x86_64 and aarch64 architectures, improving cross-compilation support.
- Updated environment variables for aarch64 builds to ensure proper linking and package configuration.
2026-01-24 17:13:07 -08:00
Jamie Pine
d960db8fd9 Update APT sources for ARM architecture in release workflow
- Mark existing sources as amd64-only to prevent apt from searching for arm64 packages.
- Add new APT sources for arm64 architecture pointing to ports.ubuntu.com, enhancing the setup for ARM cross-compilation.
2026-01-24 16:18:41 -08:00
Jamie Pine
58ab28e690 Update ARM APT sources in release workflow for cross-compilation
- Replaced existing APT source modifications with a new configuration file for ARM architecture, ensuring proper package sources for Ubuntu ports.
- This change enhances the setup process for ARM cross-compilation in the release workflow.
2026-01-24 14:51:23 -08:00
Jamie Pine
f00b0f0fbb Update GitHub workflows for core tests and release process
- Commented out pull request trigger in core_tests.yml to simplify workflow.
- Enhanced release.yml for ARM cross-compilation by adding APT configuration steps and removing redundant setup steps for Rust target installation.
- Updated tauri commands in package.json to use the latest syntax for improved compatibility.
2026-01-24 14:15:43 -08:00
Jamie Pine
499710ec1a openSSL on linux fix 2026-01-24 13:54:28 -08:00
Jamie Pine
26a730c0f2 add sd sync partners CLI 2026-01-24 11:09:09 -08:00
Jamie Pine
1de4f625ec feat(browse): enhance BrowseScreen with new components for Devices, Locations, and Volumes
This commit introduces three new components: DevicesGroup, LocationsGroup, and VolumesGroup, to the BrowseScreen. These components utilize normalized queries to fetch and display relevant data, improving the organization and modularity of the code. Additionally, the BrowseScreen has been refactored to remove unused code and streamline the UI, enhancing overall user experience.
2026-01-19 15:43:45 -08:00
Jamie Pine
4db6a83a45 refactor(Docker): remove legacy Docker setup and streamline server deployment
This commit removes the outdated Dockerfile, docker-compose.yml, and related documentation for the Spacedrive server, consolidating the deployment process into a single Dockerfile located in the apps/server directory. The new setup supports multi-architecture builds and includes enhanced media processing capabilities. Additionally, a self-hosting guide is introduced to assist users in deploying the server on their infrastructure, ensuring a more efficient and user-friendly experience.
2026-01-11 20:14:29 -08:00
Jamie Pine
e725f3c6c7 fix(ci): enhance directory removal command in GitHub Actions workflow for Windows
- Updated the command to remove the 'target' directory to include the /S and /Q flags, ensuring a more thorough and quiet cleanup process before creating a new symlink.
2025-12-30 16:55:27 -08:00
Jamie Pine
9a5e9515ad fix(ci): improve directory cleanup in GitHub Actions workflow for Windows
- Added a check to remove the 'target' directory if it exists before creating a new symlink, enhancing the workflow's robustness and preventing potential conflicts during execution.
2025-12-30 16:54:12 -08:00
Jamie Pine
f70206d019 fix(ci): update symlink creation command in GitHub Actions workflow for Windows
- Replaced PowerShell commands with native CMD commands for creating a directory and symlink, improving compatibility and simplicity.
- Ensured the directory is created only if it does not already exist, enhancing the robustness of the workflow.
2025-12-30 16:08:00 -08:00
Jamie Pine
d49b8bc5ba fix(ci): streamline PowerShell command in GitHub Actions workflow for Windows
- Combined multiple PowerShell commands into a single line for improved readability and efficiency.
- Maintained the execution policy bypass to ensure scripts can run without restrictions.
2025-12-30 16:06:06 -08:00
Jamie Pine
d7e296a7b3 fix(ci): adjust PowerShell shell type and execution policy in GitHub Actions workflow for Windows
- Changed the shell type from 'pwsh' to 'powershell' for better compatibility.
- Added a command to set the execution policy to Bypass for the process, ensuring scripts can run without restrictions.
2025-12-30 16:04:39 -08:00
Jamie Pine
b0eb9a5f1f fix(ci): update shell type in GitHub Actions workflow for Windows
- Changed the shell type from 'powershell' to 'pwsh' in the core testing workflow to ensure compatibility and consistency with modern PowerShell usage.
2025-12-30 16:01:08 -08:00
Jamie Pine
d255ef185e refactor(tests): implement TestDataDir and SnapshotManager for improved test data handling
- Introduced TestDataDir for managing test data directories with automatic cleanup and optional snapshot support, ensuring all test data is created in the system temp directory.
- Added SnapshotManager to facilitate capturing snapshots of test state for post-mortem debugging, with platform-specific storage locations.
- Updated various integration tests to utilize the new TestDataDir structure, enhancing consistency and determinism in test execution.
- Revised documentation to reflect new conventions for test data management and snapshot usage.
2025-12-30 15:50:07 -08:00
Jamie Pine
4ccfa7ea0e disable failing tests to see if CI passes 2025-12-30 14:12:48 -08:00