Commit Graph

118 Commits

Author SHA1 Message Date
Eli Bosley
f2d7abedf4 chore: cleanup deployment by using built in s3 cli (#1212) 2025-03-04 15:30:13 -05:00
Eli Bosley
d63e54bdbc feat: split plugin builds
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced containerized plugin deployment support with updated Docker
Compose configurations.
- Added continuous build watch modes for API, web, and UI components for
smoother development iterations.
  - Added a new job for API testing in the CI/CD workflow.
- Added a new shell script to determine the local host's IP address for
Docker configurations.
- Introduced a new entry point and HTTP server setup in the plugin's
Docker environment.
- Added new scripts for building and watching plugin changes in
real-time.
- Added a new script for building the project in watch mode for the API
and UI components.

- **Improvements**
- Streamlined the plugin installation process and refined release
workflows for a more reliable user experience.
- Enhanced overall CI/CD pipelines to ensure efficient, production-ready
deployments.
- Updated artifact upload paths and job definitions for clarity and
efficiency.
- Implemented new utility functions for better URL management and
changelog generation.
- Modified the `.dockerignore` file to ignore all contents within the
`node_modules` directory.
- Added new constants and functions for managing plugin paths and
configurations.
- Updated the build process in the Dockerfile to focus on release
operations.

- **Tests**
- Expanded automated testing to validate environment setups and build
stability, ensuring higher reliability during updates.
- Introduced new test suites for validating plugin environment setups
and configurations.
- Added tests for validating environment variables and handling of
manifest files.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Datelle <mdatelle@icloud.com>
Co-authored-by: mdatelle <mike@datelle.net>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Pujit Mehrotra <pujit@lime-technology.com>
2025-03-04 15:18:04 -05:00
Eli Bosley
ae47866724 chore: pure ESM (#1202) 2025-02-25 14:14:14 -05:00
Eli Bosley
d59ca415af chore: cleanup packages (#1198)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Chores**
- Updated configuration versions and connection status settings for
improved consistency.
- Restructured build and tooling processes with refined script
organization, including new commands for type checking and cleanup.
- Updated dependency management to support enhanced styling and state
management.
- Removed legacy scripts related to environment handling and CSS
utilities.

- **Refactor**
- Streamlined module imports to align with an updated theme management
structure.

- **Bug Fixes**
- Enhanced error handling in various components to provide more
informative error messages during operations.
	- Improved error reporting in the update cancellation process.
	- Improved error reporting in date difference calculations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-25 13:09:02 -05:00
renovate[bot]
982b22b1b4 chore(deps): update szenius/set-timezone action to v2 (#1194)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[szenius/set-timezone](https://redirect.github.com/szenius/set-timezone)
| action | major | `v1.2` -> `v2.0` |

---

### Release Notes

<details>
<summary>szenius/set-timezone (szenius/set-timezone)</summary>

###
[`v2.0`](https://redirect.github.com/szenius/set-timezone/releases/tag/v2.0)

[Compare
Source](https://redirect.github.com/szenius/set-timezone/compare/v1.2...v2.0)

##### What's Changed

- update deps & make use of node 20 instead of node 16 by
[@&#8203;kwarkjes](https://redirect.github.com/kwarkjes) in
[https://github.com/szenius/set-timezone/pull/19](https://redirect.github.com/szenius/set-timezone/pull/19)

##### New Contributors

- [@&#8203;kwarkjes](https://redirect.github.com/kwarkjes) made their
first contribution in
[https://github.com/szenius/set-timezone/pull/19](https://redirect.github.com/szenius/set-timezone/pull/19)

**Full Changelog**:
https://github.com/szenius/set-timezone/compare/v1.2...v2.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/unraid/api).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 14:08:44 -05:00
Eli Bosley
365dcae04b fix: log errors 2025-02-21 16:23:04 -05:00
Eli Bosley
a9d5ca8899 fix: fix changelog thing again 2025-02-21 16:20:51 -05:00
Eli Bosley
b24a575cbb fix: load tag correctly 2025-02-21 16:18:49 -05:00
Eli Bosley
b49159022d fix: re-release fixed 2025-02-21 16:14:38 -05:00
Eli Bosley
c0ad2e138c chore: allow editing releases and properly escape changelogs (#1190)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Chores**
- Enhanced the release process to update the plugin changelog more
reliably.
- Now supports updating release notes for both new and edited releases,
ensuring accurate and secure changelog information.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-21 16:09:53 -05:00
Eli Bosley
d47bc0277d Revert "chore: update release-please config, allow releases from main.yml (#1177)"
This reverts commit 6adb4484c3.
2025-02-21 15:29:41 -05:00
Eli Bosley
6adb4484c3 chore: update release-please config, allow releases from main.yml (#1177)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced the automated release process with integrated changelog
updates for better tracking of product changes.
- Expanded deployment support by distributing release assets through
additional cloud providers, ensuring more robust delivery.

- **Chores**
- Refined release configurations and streamlined component management
for a smoother rollout.
- Introduced file verification checks to prevent release interruptions
and maintain reliable updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-21 10:17:23 -05:00
Eli Bosley
616be93be9 fix: finalize workflow fixes 2025-02-20 19:26:21 -05:00
Eli Bosley
2283e064d5 fix: upload to release by name 2025-02-20 19:11:09 -05:00
Eli Bosley
db134f091d fix: release-please upload single draft 2025-02-20 18:07:05 -05:00
Eli Bosley
00a444fb92 fix: only run release if releases_create == 'true' 2025-02-20 13:06:01 -05:00
Eli Bosley
30ba5befdb fix: don't specify pnpm version in install 2025-02-20 12:24:07 -05:00
Eli Bosley
013cc1de7d feat: major release-please workflow improvements (#1160)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Expanded release configuration now covers additional components for
broader integration.

- **Chores**
- Streamlined automated release workflows for more efficient asset
uploads.
- Refined job triggers to focus release creation on updates to the main
branch.
  - Removed outdated version tracking to simplify the release process.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-20 12:22:08 -05:00
Eli Bosley
2b1e3076b0 fix: main.yml release issue 2025-02-20 11:32:30 -05:00
Eli Bosley
ad6b6589db feat: convert to pnpm monorepo (#1137)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced enhanced project management scripts for building, testing,
and deploying the monorepo.
- Added an automated testing pipeline for improved reliability of the
Libvirt functionality.
- Provided a new plugin installation script that ensures thorough
cleanup during removal.

- **Improvements**
- Updated container mappings and dependency configurations for more
stable and efficient operations.
- Refined web application settings and build commands for smoother
performance.
- Streamlined continuous integration workflows with optimized caching
and dependency management.
  - Updated allowed origins in configuration for enhanced security.

- **Chores/Refactor**
- Removed outdated configuration files to simplify maintenance and
enhance consistency.
- Enhanced event listener management in the web application for better
error handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-19 13:41:23 -05:00
Eli Bosley
f76c0f05fb fix: upload to correct tag directory on build 2025-02-12 16:31:16 -05:00
Eli Bosley
84611d7691 fix: make public not a part of folder structure in PR 2025-02-11 15:40:37 -05:00
Eli Bosley
dabe334072 fix: create PR ignored 2025-02-11 15:36:15 -05:00
Eli Bosley
59e48ad85c feat: upgrade workflow and auto-assign reviewers 2025-02-11 15:34:56 -05:00
Eli Bosley
13b501a342 fix: docs creation workflow 2025-02-11 15:26:17 -05:00
Eli Bosley
75474bde47 feat: add developer docs (#1128)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Documentation**
- Improved the API documentation update process to enhance clarity and
maintain consistent content.
- Introduced a comprehensive guide outlining the API's repository
organization and system architecture.
- Streamlined the documentation by removing outdated developer guides on
API introspection and feature implementation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-11 15:14:59 -05:00
Eli Bosley
7a19c9331f feat: fix docusaurus build + update snapshot 2025-02-11 14:47:34 -05:00
Eli Bosley
8a575765a9 feat: auto-docusaurus-prs (#1127)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Documentation**
- Expanded the Unraid API guides with comprehensive CLI command details
for managing services, logs, configuration, and authentication.
- Updated the API usage instructions to include steps for enabling a
GraphQL sandbox, example queries, error handling, and best practices.
- Added an implementation overview detailing component capabilities and
a release roadmap outlining upcoming improvements across core
infrastructure, security, and user interface.

- **Chores**
- Introduced automation that streamlines the updating of API
documentation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-11 14:45:03 -05:00
Eli Bosley
753f1588b8 Feat/local-plugin (#1125)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


• New Features  
 - Enhanced the login experience with improved session management and
two-factor authentication.
 - Introduced a comprehensive README for the Unraid Plugin Builder,
detailing development workflows and commands.

• Chores  
 - Streamlined build, packaging, and deployment processes with updated
dependency and environment configurations.
 - Updated Docker configurations to support pnpm as the package manager.
 - Added new environment variables for better configuration management.
 - Introduced new scripts for improved build and packaging processes.  

• Tests  
 - Removed outdated test cases and simplified test setups.  

• Refactor  
 - Modernized internal code structure and asynchronous handling for
improved overall performance.
 - Transitioned imports from lodash to lodash-es for better module
handling.
 - Updated environment variable management and configuration settings.  
 - Enhanced the build script for improved deployment processes.  
 - Updated the notification handling structure to improve efficiency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-11 11:45:26 -05:00
Eli Bosley
29fd61be6c Update release-production.yml 2025-02-06 16:17:05 -05:00
Eli Bosley
e7b7caae43 feat: checkout correct branch on close (#1123)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Refined our deployment process to ensure staging updates now reflect
the fully merged changes.
	- Made minor formatting tweaks for improved clarity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-06 12:53:00 -05:00
Eli Bosley
4f5c367fdf feat: begin building plugin with node instead of bash (#1120)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced automated build and release processes with containerized
builds, improved caching, and refined artifact handling.
- Introduced new configuration options to strengthen versioning,
integrity checks, and pull request tracking.
	- Added a new Dockerfile for building the Node.js application.
- Added new environment variables for API versioning and validation
control.
	- Implemented comprehensive management of PM2 processes and state.
- Introduced a new GitHub Actions workflow for automating staging plugin
deployment upon pull request closure.
	- Updated logic for handling plugin installation and error feedback.
	- Added new asynchronous methods for managing PM2 processes.
	- Updated logging configurations for better control over log outputs.
	- Added Prettier configuration for consistent code formatting.
- Introduced a configuration to prevent the application from watching
for file changes.

- **Bug Fixes**
- Improved error handling and user feedback during the installation of
staging versions.

- **Documentation**
- Removed outdated introductory documentation to streamline project
information.

- **Chores**
- Updated deployment routines and validation steps to improve release
consistency and error handling.
- Simplified packaging and build scripts for smoother staging and
production workflows.
	- Excluded sensitive files from the Docker build context.
- Updated the `.gitignore` file to prevent unnecessary files from being
tracked.
- Adjusted the test timeout configuration for improved test reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-06 12:32:41 -05:00
Eli Bosley
ad32cffd75 feat: force linting on build 2025-01-31 11:02:55 -05:00
Pujit Mehrotra
61ee689658 feat(ui): webgui-compatible web component library (#1075)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Eli Bosley <ekbosley@gmail.com>

- **CI/CD**
	- Updated GitHub Actions workflow to build Unraid UI Web Components.
	- Adjusted artifact naming and download configurations.

- **Web Components**
	- Added new web components and registration mechanism.
	- Implemented toast notifications.
	- Enhanced UI component library.

- **Notifications**
	- Added real-time notification subscription.
	- Created notification settings page.
	- Implemented notification toast system.

- **API Improvements**
	- Refactored GraphQL schema loading.
	- Updated authentication and cookie handling.
	- Improved error logging and server initialization.

- **Development Tools**
	- Updated ESLint configuration.
	- Enhanced import path management.
	- Added new development dependencies.
2025-01-31 10:47:03 -05:00
Eli Bosley
3419837eb5 feat: enable PR releases on non-mainline merges 2025-01-27 13:34:32 -05:00
Pujit Mehrotra
3acc0dc9c0 fix: integration of unraid-ui tailwind config in web (#1074)
* fix: integration of unraid-ui tailwind config in web

* chore(ci): inline unraid-ui build
2025-01-21 15:48:25 -05:00
Michael Datelle
6669a963af refactor: unraid ui cleanup and migration (#998)
Co-authored-by: Eli Bosley <ekbosley@gmail.com>
Co-authored-by: Pujit Mehrotra <pujit@lime-technology.com>
Co-authored-by: mdatelle <mike@datelle.net>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zack Spear <zackspear@users.noreply.github.com>
2025-01-15 11:15:52 -05:00
Eli Bosley
bb555f8296 feat: remove nghttp3 and only bundle nodejs 2024-12-05 16:04:16 -05:00
Pujit Mehrotra
acccb3694c chore(web): add testing step to github actions 2024-11-19 13:21:41 -05:00
Eli Bosley
106b2e42c0 feat: nodejs issues with version 2 2024-11-06 15:03:21 -05:00
Eli Bosley
4f0210d16a feat: nghttp3 sha256 missing 2024-11-06 15:03:21 -05:00
Eli Bosley
787f8b9bf5 fix: proper file replacements 2024-11-06 15:03:21 -05:00
Eli Bosley
61ba324ca0 fix: variables passed properly 2024-11-06 15:03:21 -05:00
Eli Bosley
a230a33df5 fix: pull node version directly from nvmrc 2024-11-06 15:03:21 -05:00
Eli Bosley
84b234c9cf feat: upload files directly to cloudflare 2024-11-06 15:03:21 -05:00
Eli Bosley
4b2007b689 fix: plugin download route and add env node to cli script 2024-11-05 16:11:21 -05:00
Eli Bosley
b8e61007e3 fix: changelog parser 2024-11-05 16:11:21 -05:00
Eli Bosley
49536032df fix: handle special chars better 2024-11-05 16:11:21 -05:00
Eli Bosley
9229cf3df6 fix: version and EOF key 2024-11-05 16:11:21 -05:00
Eli Bosley
58665a4e98 fix: trigger loading correctly 2024-11-05 16:11:21 -05:00