Commit Graph

285 Commits

Author SHA1 Message Date
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
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
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
Jamie Pine
1b1a158060 chore(ci): update host configurations in GitHub Actions workflow
- Modified the host settings in the core testing workflow to support multiple environments, including macOS and Windows with ARM64 and X64 architectures.
- Enhanced the matrix strategy for improved testing coverage across different platforms.
2025-12-30 13:30:02 -08:00
Jamie Pine
1d18fb2847 refactor(ci): streamline Rust setup and test execution in GitHub Actions
- Removed conditional checks for macOS in Rust toolchain and system setup, assuming pre-installed Rust on self-hosted runners.
- Updated commands for setting up native dependencies and running core tests to utilize the `xtask` package for consistency and clarity.
- Enhanced the overall workflow for improved readability and maintainability.
2025-12-30 13:18:42 -08:00
Jamie Pine
2881117e00 feat(tests): update testing paths for deterministic integration tests
- Modified test data paths in various integration tests to use the Spacedrive source code instead of user directories, ensuring consistent and deterministic test results across environments.
- Updated comments and documentation to reflect the new testing approach and clarify the purpose of using project source code for testing.
- Enhanced the GitHub Actions workflow to skip Rust toolchain setup on macOS self-hosted runners, assuming Rust is pre-installed.
2025-12-30 13:05:19 -08:00
Jamie Pine
1fd571b06b feat(ci): enhance core testing workflow and introduce unified test command
- Refactored GitHub Actions workflow to support multiple OS environments (macOS, Linux, Windows) using a matrix strategy.
- Added a new `test-core` command in `xtask` for running all core integration tests with progress tracking and result summaries.
- Updated caching keys in the CI workflow to use OS-specific identifiers for better cache management.
- Consolidated test execution logic into a single source of truth in `xtask/src/test_core.rs`, ensuring consistency between CI and local runs.
- Improved documentation in `xtask/README.md` to reflect the new testing command and its features.
2025-12-30 12:41:23 -08:00
Jamie Pine
d9239923b9 Update release workflow to remove CLI build dependency
- Modified the release workflow to eliminate the dependency on the CLI build job, streamlining the release process.
- Maintained the existing structure for the desktop build job to ensure continued functionality.
2025-12-26 10:08:38 -08:00
Jamie Pine
b45d492264 Refactor release workflow to comment out CLI build jobs
- Commented out the CLI build jobs in the release workflow to streamline the configuration.
- Maintained structure for potential future reactivation of CLI builds across macOS, Linux, and Windows platforms.
- Ensured that the desktop build jobs remain intact for continued functionality.
2025-12-26 10:04:43 -08:00
Jamie Pine
c586544b0c Add device_id to entries for efficient querying
- Introduced a new column `device_id` in the entries table to denormalize device relationships, improving query performance.
- Updated related models and queries to accommodate the new device_id field.
- Enhanced foreign key mappings and migration scripts to support the addition of device_id.
- Adjusted various components to handle device_id, ensuring compatibility across the application.
- Improved release workflow to include specific file types for distribution.
2025-12-26 10:03:51 -08:00
Jamie Pine
cd7569ab7b fix: add tag push trigger to release workflow 2025-12-26 08:22:57 -08:00
Jamie Pine
19c689af03 Enhance CI workflow and improve test execution
- Updated the CI workflow to run all tests for the `sd-core` package, ensuring comprehensive coverage.
- Modified test execution commands to include specific tests for better granularity and clarity.
- Improved device management by regenerating slugs upon name changes and updating global device slugs.
- Enhanced session key generation for improved security during device pairing.
- Updated progress monitoring tests to ensure robust performance tracking for large file operations.
2025-12-18 07:09:19 -08:00
Jamie Pine
cd000441fc Update test configurations and enhance test robustness
- Modified CI workflow to run all tests for the `sd-core` package, improving clarity in test execution.
- Updated test attributes to use multi-threading for better performance in `cloud_credentials` tests.
- Enhanced test setup in `key_manager` to avoid database conflicts by using unique directories for each test run.
- Improved assertions in `hlc` tests to ensure correct timestamp and counter behavior.
- Clarified comments in `registry` tests regarding the circular relationship between location and entry.
- Removed outdated blurhash tests to streamline the test suite.
2025-12-18 04:11:33 -08:00
Jamie Pine
eb9ba58b6a Refactor test configurations and remove deprecated examples
- Updated the CI workflow to run tests specifically for the  package for clarity.
- Deleted outdated example test files for event serialization, location watcher, and simple metrics to reduce clutter.
- Enhanced error handling in  for better robustness.
- Improved device data handling in  by adding additional fields for comprehensive device information.
- Adjusted test assertions in  to align with updated change detection logic.
2025-12-18 03:53:29 -08:00
Jamie Pine
b853e66def Update test configurations and CI workflow
- Adjusted the CI workflow to run tests with updated command syntax for improved clarity.
- Marked subproject commits in ios, landing, macos, and workbench as dirty to reflect uncommitted changes.
- Modified conflict resolution options in copy action tests to use `None` for better handling of file operations.
- Enhanced metadata handling in various tests to improve context and accuracy during execution.
2025-12-18 03:29:01 -08:00
Jamie Pine
c3d602af5a Refactor CI workflow and update test configurations
- Removed the setup step for native dependencies in the CI workflow to streamline the build process.
- Updated the `copy_action_test` to include conflict resolution options for better handling of file conflicts.
- Enhanced metadata handling in `entry_move_integrity_test` to include job policies.
- Added metadata to event handling in `file_structure_test` for improved context during file operations.
- Updated service configuration in `file_sync_simple_test` and `file_sync_test` to use `fs_watcher_enabled` and included default logging settings.
- Deleted the outdated README.md from the tests directory to reduce clutter and improve documentation focus.
2025-12-18 03:09:27 -08:00
Jamie Pine
5ec4a31abb Update CI workflow and enhance core features
- Changed the CI workflow to run tests on self-hosted runners for better performance and flexibility.
- Updated the test execution condition to trigger on push events and specific pull requests.
- Consolidated test execution to run all tests in the workspace instead of a single test.
- Modified the default features in Cargo.toml for the server and core applications to include "heif" and "ffmpeg" for enhanced media support.
- Added metrics collection capabilities to the SyncProtocolHandler for improved monitoring of sync operations.
- Refactored sync tests to streamline setup and improve clarity in test scenarios.
2025-12-18 03:02:54 -08:00
Jamie Pine
f682e205b5 disable macos x86 temp 2025-12-15 03:30:25 -08:00
Jamie Pine
60245b47c1 Add stable identifiers for image and audio files in ContentRenderer and AudioRenderer components; enhance job tracking in FileInspector for long-running operations 2025-12-15 01:02:40 -08:00
Jamie Pine
5a4637cce0 Add installation step for Rust target in release workflow to ensure compatibility 2025-12-14 23:51:25 -08:00
Jamie Pine
a28ea26706 Refactor release workflow by updating macOS build configurations and enhancing scan state display in LocationInspector component for improved clarity. 2025-12-14 23:28:51 -08:00
Jamie Pine
438d7fa52a Enhance release workflow by adding macOS build configurations and setup step for Rust. Adjusted matrix settings for better clarity and organization. 2025-12-14 22:20:23 -08:00
Jamie Pine
dfdd24e8ff enable other platforms in release workflow 2025-12-14 21:58:48 -08:00
Jamie Pine
44fff099e4 Merge pull request #2914 from spacedriveapp/build-stuff
Build stuff
2025-12-14 01:00:46 -08:00
Jamie Pine
832428c8ac Wire up daemon for Tauri bundler validation 2025-12-12 16:23:39 -08:00
James Pine
1c1ad49389 Add cleanup step for keychain to release workflow 2025-12-11 20:08:50 -08:00
James Pine
9765543eed Self hosted runner mega moment 2025-12-11 19:50:03 -08:00