36 Commits

Author SHA1 Message Date
19d845d327 Refactor Windows MSI build script for improved readability and efficiency
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Simplified database interaction by replacing InvokeMember calls with direct method invocations in the build-windows-msi.ps1 script.
- Enhanced handling of null values in database records to ensure proper insertion and management of data.
- Updated SQL commands to use null for optional fields, improving clarity and consistency in the database schema.
2026-08-01 22:56:53 +01:00
2cf5f18892 Add app icon generation and update build configurations
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced a new script for preparing application icons, supporting macOS, Windows, and Linux formats.
- Updated electrobun.config.ts to specify paths for app icons in the build configuration.
- Added generated app icons to .gitignore to prevent tracking of build artifacts.
- Updated package.json and bun.lock to include the png-to-ico dependency for icon conversion.
2026-08-01 22:52:28 +01:00
a4d8a501d1 Enhance Windows MSI build script with improved error handling and database modes
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Added constants for Windows Installer OpenDatabase modes to clarify database access options.
- Improved error handling in the Set-InstallerBinaryStream function to gracefully handle cases where the Binary table is empty.
- Refactored the New-WrapperMsiDatabase function to ensure proper path handling and database creation, enhancing the robustness of the MSI generation process.
2026-08-01 22:52:07 +01:00
8783caa93c Add Windows MSI build script and integrate into artifact finalization
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced build-windows-msi.ps1 script for generating MSI installers, enhancing the Windows packaging process.
- Updated finalize-desktop-artifacts.mjs to include a new function for building MSI packages, ensuring proper integration with existing artifact generation workflows.
- Enhanced error handling and logging during the MSI build process for better feedback on failures.
2026-08-01 22:40:09 +01:00
cf0643b7dd Add macOS code signing functionality and integrate into artifact finalization
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced a new script, codesign-macos-app.mjs, to handle the code signing of macOS application bundles.
- Replaced the existing resignMacAppBundle function in finalize-desktop-artifacts.mjs with a call to the new codesignMacAppBundle function for improved clarity and maintainability.
- Enhanced error handling and logging during the code signing process to provide better feedback on failures.
- Updated the logic for resolving the app bundle path to streamline the signing process.
2026-08-01 22:35:25 +01:00
67cbe3ec6e Remove Windows MSI packaging scripts and related functionality
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Deleted the msi-wrapped.wxs file, which contained the WiX configuration for MSI packaging.
- Removed the build-windows-msi.ps1 script, responsible for generating MSI installers, from the build process.
- Updated finalize-desktop-artifacts.mjs to eliminate the call to the now-removed MSI build function, streamlining the artifact generation process.
2026-08-01 22:27:06 +01:00
935e06a5d7 Refactor macOS bundle handling in expand-macos-bundle.mjs and finalize-desktop-artifacts.mjs
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Replaced cpSync with ditto for copying files in expand-macos-bundle.mjs to improve reliability and error handling.
- Introduced a new copyMacAppBundle function in finalize-desktop-artifacts.mjs to streamline app bundle copying and signing processes.
- Enhanced error handling for ditto and codesign commands to provide clearer feedback on failures.
- Updated DMG creation logic to conditionally use direct source folder, optimizing the build process.
2026-08-01 22:26:24 +01:00
0aa26eab66 Enhance Windows installer with MSI support and shortcut creation
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated farmcontrol-server.nsi to include desktop and Start Menu shortcut creation.
- Added new macros in installer.nsh for managing shortcuts during installation and uninstallation.
- Introduced build-windows-msi.ps1 script for generating MSI installers, integrating with existing build processes.
- Modified finalize-desktop-artifacts.mjs to call the new MSI build script, ensuring proper artifact generation.
2026-08-01 22:21:49 +01:00
5c683ae576 Update macOS DMG creation logic and streamline artifact handling
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Modified electrobun.config.ts to clarify DMG creation status in comments.
- Replaced symlink with cpSync in finalize-desktop-artifacts.mjs to improve file handling during DMG creation, ensuring proper copying of application bundles.
2026-08-01 22:18:22 +01:00
0e19d25a92 Refactor zstd decompression logic in expand-windows-installer.mjs
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced a new approach for finding zstd decompression commands, prioritizing a zig-zstd executable over the system zstd for improved compatibility.
- Enhanced error messages during decompression to include command details for better debugging.
- Streamlined the process of copying and decompressing archives, ensuring clearer path management and improved reliability on Windows platforms.
2026-08-01 22:16:27 +01:00
4307d74e92 Refactor zstd decompression handling in expand-windows-installer.mjs
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated the findZstdDecompressCommand function to improve compatibility with Windows by adding shell options for command execution.
- Simplified candidate path resolution for zstd executables by utilizing a dedicated electrobun directory, enhancing clarity and maintainability.
- Improved error handling during decompression and extraction processes to ensure better reliability on Windows platforms.
2026-08-01 22:13:10 +01:00
f6bd45c214 Enhance core dependency management and CLI script for macOS
Some checks are pending
farmcontrol/farmcontrol-server/pipeline/head Build queued...
- Updated ensure-electrobun-core.mjs to ensure core dependencies for both host and target architectures, improving compatibility.
- Modified patch-electrobun-src.mjs to enhance the handling of the Bun binary, ensuring the correct binary is used based on availability, which improves error reporting and execution reliability.
2026-08-01 22:12:58 +01:00
72cea3a740 Refactor Windows installer scripts and enhance build process
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated farmcontrol-server.nsi to simplify setup file handling by defining APP_SOURCE_DIR and removing unnecessary variables.
- Modified installer.nsh to reference the correct launcher executable path.
- Refactored build-windows-nsis.ps1 to accept APP_DIR instead of individual setup file parameters, streamlining the build process.
- Introduced expand-windows-installer.mjs for handling decompression and extraction of Windows app archives, improving artifact management.
- Enhanced finalize-desktop-artifacts.mjs to integrate the new expansion process and ensure proper cleanup of temporary files.
2026-08-01 22:10:41 +01:00
ebc3920d65 Refactor macOS DMG creation process in finalize-desktop-artifacts.mjs
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Removed the dynamic search for `create-dmg` and replaced it with a fixed path for improved reliability.
- Updated the buildMacDmg function to handle staging directories more effectively and ensure cleanup after DMG creation.
- Simplified error handling for the DMG creation process, enhancing clarity and maintainability.
2026-08-01 22:07:31 +01:00
1b7bb03456 Refactor macOS build process and remove create-dmg dependency
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Removed `create-dmg` from package.json and bun.lock as it is no longer needed.
- Updated Jenkinsfile to ensure proper installation of `create-dmg` if not found.
- Enhanced finalize-desktop-artifacts.mjs to dynamically locate the `create-dmg` command and improve error handling during DMG creation.
2026-08-01 22:02:48 +01:00
3a34082bfd Update macOS build process and dependencies
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Added `create-dmg` package to package.json for improved DMG creation.
- Modified Jenkinsfile to clean up staging directories correctly.
- Enhanced finalize-desktop-artifacts.mjs to utilize `create-dmg` for generating DMG files, improving artifact management and error handling.
2026-08-01 22:00:50 +01:00
1669c7a72c Refactor macOS build process and update configuration
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated electrobun.config.ts to disable DMG creation during the build process, streamlining artifact management.
- Enhanced Jenkinsfile with a new function to prepare the macOS build workspace, ensuring proper cleanup of previous volumes and staging directories.
- Introduced new functions in finalize-desktop-artifacts.mjs for building and cleaning macOS DMG files, improving the overall build workflow and artifact handling.
2026-08-01 21:57:03 +01:00
3107a517c3 Refactor zstd decompression in expand-macos-bundle script
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Replaced the findZstd function with a new decompressTarZst function to streamline the zstd decompression process.
- Improved error handling by logging an error message and exiting the process if zstd is not found.
- Updated the script to directly call the new decompression function, enhancing clarity and maintainability.
2026-08-01 21:39:47 +01:00
cda0286db7 Add postWrap script for macOS bundle expansion and implement expand-macos-bundle script
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated electrobun.config.ts to include a new postWrap script for expanding macOS bundles.
- Introduced expand-macos-bundle.mjs script to handle the extraction and setup of macOS application bundles, including metadata validation and resource management.
- Enhanced error handling and logging for better visibility during the expansion process.
2026-08-01 21:38:05 +01:00
6f3c312f6d Implement NSIS installer for Farm Control Server and update build scripts
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Added a new NSIS installer script (farmcontrol-server.nsi) for packaging the Farm Control Server on Windows, replacing the previous MSI approach.
- Updated the build process to utilize the new NSIS script, including changes in the finalize-desktop-artifacts.mjs to reflect the new installer format.
- Removed the obsolete MSI build script (build-windows-msi.ps1) and related files to streamline the packaging process.
- Updated the README to reflect changes in the post-package process for Windows installers.
2026-08-01 21:30:11 +01:00
575a2d1d20 Enhance macOS build process and configuration
Some checks reported errors
farmcontrol/farmcontrol-server/pipeline/head Something is wrong with the build of this commit
- Updated electrobun.config.ts to conditionally enable code signing and notarization based on developer ID presence.
- Refactored Jenkinsfile to support separate macOS builds for x64 and arm64 architectures.
- Added new scripts for ensuring core dependencies and patching Electrobun source for cross-architecture compatibility.
- Enhanced build-macos.mjs to improve architecture detection and build order, ensuring robust handling of macOS builds.
- Updated package.json to include a post-install script for patching Electrobun source files.
2026-08-01 21:27:58 +01:00
8741a2c6fd Enhance build configuration and scripts
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated electrobun.config.ts to include environment-based settings for stability and external dependencies.
- Refactored package.json scripts for improved build processes and streamlined commands.
- Added new build scripts for Linux and renderer, while removing the obsolete build-server script.
- Enhanced pre-build validation to ensure required files are present and added logging for better visibility.
- Updated clean-build script to remove additional artifact directories for thorough cleanup.
2026-08-01 21:13:51 +01:00
c14a12648a Refactor Jenkinsfile and update build scripts
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced a new runBuild function in Jenkinsfile to streamline build command execution across different environments.
- Updated package.json to use a new cleanBuild script for improved build cleanup.
- Enhanced build-macos.mjs to support architecture-specific builds with better cross-compilation handling.
- Added a new clean-build.mjs script for efficient removal of build artifacts.
2026-08-01 21:08:23 +01:00
d867d017bb Enhance Electrobun configuration and build scripts
Some checks reported errors
farmcontrol/farmcontrol-server/pipeline/head Something is wrong with the build of this commit
- Updated electrobun.config.ts to dynamically set the application version from package.json and added a release configuration for base URL.
- Modified Jenkinsfile to include the ELECTROBUN_RELEASE_BASE_URL environment variable during the build process.
- Refactored build-macos.mjs to streamline the build command execution for different architectures.
- Enhanced finalize-desktop-artifacts.mjs to improve artifact handling and introduced a new pre-build script for validation of required files and environment variables.
- Improved error handling and logging for better build process visibility.
2026-08-01 20:12:30 +01:00
8b8475d11d Add Windows installer files to MSI build process
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated the farmcontrol-server.wxs file to include SetupArchive and SetupMetadata files for the MSI packaging.
- Modified the build-windows-msi.ps1 script to accept new parameters for SetupArchive and SetupMetadata, enhancing the MSI build process.
- Refactored the finalize-desktop-artifacts script to find and handle multiple Windows installer files, ensuring proper artifact publication.
2026-08-01 20:04:14 +01:00
90da336696 Update macOS build process and enhance artifact finalization
- Replaced the macOS build command in package.json to use a new script for better architecture handling.
- Added a new script for building macOS applications that supports both arm64 and x64 architectures.
- Enhanced the finalize-desktop-artifacts script to improve artifact discovery and cleanup, ensuring proper handling of macOS DMG and app bundles.
- Updated functions to streamline the process of finding and publishing artifacts, improving overall reliability.
2026-08-01 20:01:55 +01:00
6ed2347214 Refactor Windows MSI build script to improve argument handling
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
- Introduced a new function, ConvertTo-WixVersion, to standardize version formatting for the MSI build process.
- Updated the PowerShell script to use arrays for passing arguments to the candle and light commands, enhancing readability and reliability.
- Ensured proper handling of paths with spaces by quoting arguments appropriately.
2026-08-01 19:58:13 +01:00
d4f3ba0fca Add pdfjs-dist dependency to package.json and bun.lock
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Included pdfjs-dist version 5.6.205 in both package.json and bun.lock to enhance PDF handling capabilities.
- Updated related dependencies to ensure compatibility with the new pdfjs-dist version.
2026-07-28 23:15:44 +01:00
bee95563d8 Remove redundant path specification for macOS package installation in finalize-desktop-artifacts script
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
2026-07-28 22:42:01 +01:00
f3ae50c788 Add Windows MSI packaging and finalize desktop artifacts script
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Introduced a new Windows Installer XML (WXS) file for packaging the Farm Control Server as an MSI.
- Added a PowerShell script to build the MSI from the WXS file.
- Implemented a new script to finalize desktop artifacts, handling the publication of macOS and Windows packages.
- Updated the Linux build script to improve artifact naming and organization.
- Enhanced the Electrobun configuration to include a post-package script for finalizing desktop artifacts.
2026-07-28 22:37:38 +01:00
bb538fe454 Refactor Linux binary build script for improved exit code handling
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
- Updated the exit code handling in the Linux binary build script to use the `exited` property from the compile result.
- Simplified the process of exiting the script on failure, enhancing clarity and reliability.
2026-07-28 22:18:27 +01:00
8453e7c7cf Switch package manager and runtime from Node/pnpm to Bun.
Update build scripts, entry points, and packaged-path detection for the new toolchain.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 22:03:20 +01:00
9f927b1ef5 Enhance build process and server version management
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
Refactor build-linux-bundle.mjs to include package version and build number from environment variables and package.json. Update headless.js to streamline initialization and improve error handling. Introduce serverVersion.js to centralize version information retrieval, replacing redundant code in localserver.js. Enhance logging in index.js to display build number and version more clearly.
2026-07-26 23:27:08 +01:00
997b374e0e Add before-remove script for package uninstallation and streamline after-remove script
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
Introduce a new before-remove.sh script to stop and disable the farmcontrol-server service before package removal. Update after-remove.sh to only reload systemd, simplifying the uninstallation process. Modify build-linux-packages.sh to include the new before-remove script in the packaging process.
2026-07-26 22:56:42 +01:00
55b4c1a42e Add PDF conversion utilities and update build scripts for Linux packaging
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
Introduce a new pdfUtils.js file for on-demand PDF conversion using pdf-to-img and sharp. Update package.json to include new build scripts for Linux packaging, enhancing the build process with public package handling. Add .npmrc for public hoisting patterns and create build-linux-packages.sh for streamlined package creation.
2026-07-26 21:47:21 +01:00
d1592bf55e Refactor build scripts in package.json to enhance Mac and Linux build processes. Introduce new build:linux-bundle script, update dependencies, and remove deprecated WorkingDirectory from farmcontrol-server.service. Add import-meta-url.js for improved module handling in headless mode.
All checks were successful
farmcontrol/farmcontrol-server/pipeline/head This commit looks good
2026-07-26 21:37:20 +01:00