Commit graph

31 commits

Author SHA1 Message Date
71efcb71e2
Merge pull request #5 from Snider/feature-increase-test-coverage
Feature increase test coverage
2025-11-13 19:50:29 +00:00
google-labs-jules[bot]
0533a9fb9c fix(ui): Correct UI build and server configuration
Corrected the build script in `ui/package.json` to correctly bundle the Angular application. Also updated `pkg/mining/service.go` to serve the correct bundled JavaScript file.

Verified the backend server is running and accessible by testing the Swagger UI endpoint.
2025-11-13 19:49:58 +00:00
google-labs-jules[bot]
c74f360dd0 feat(mining): Increase test coverage for service and manager
Added tests for GetMiner and ListMiners in the manager, and for the GetInfo and Doctor endpoints in the service. This increases the overall test coverage of the pkg/mining package.
2025-11-13 19:23:33 +00:00
google-labs-jules[bot]
1e2fa7a85a feat(mining): Increase test coverage for manager
Added tests for StartMiner and StopMiner in the manager, increasing test coverage for the pkg/mining package.

Refactored the findMinerBinary function to fall back to the system PATH, making the application more robust and easier to test.
2025-11-13 19:17:07 +00:00
2885a152f3
Enhance README with usage examples and details
Added example command and updated HTML script tag.
2025-11-10 02:26:09 +00:00
Snider
27834c332c integrates Highcharts for live hashrate visualization and updates dashboard layout 2025-11-10 02:22:56 +00:00
0d2dc1ddd8
Enhance README with usage example and description update
Updated project description and added usage example.
2025-11-10 01:59:39 +00:00
01fb04ef02
Merge pull request #4 from Snider/feature-increase-test-coverage
feat: Increase test coverage for pkg/mining
2025-11-10 00:59:13 +00:00
google-labs-jules[bot]
baf732b999 feat: Increase test coverage for pkg/mining
This commit introduces a number of new tests for the `pkg/mining` package,
increasing the overall test coverage from 8.2% to 41.4%.

The following changes were made:

- Added tests for the `XMRigMiner` struct, including its methods for
  installation, starting, stopping, and getting stats.
- Added tests for the `Service` layer, including the API endpoints for
  listing, starting, stopping, and getting stats for miners.
- Added tests for the `Manager`, including starting and stopping multiple
  miners, collecting stats, and getting hashrate history.
- Introduced a `ManagerInterface` to decouple the `Service` layer from the
  concrete `Manager` implementation, facilitating testing with mocks.
- Fixed a failing test on Windows by creating a Windows-compatible
  dummy executable.
- Improved encapsulation in tests by adding and using getter methods for
  private fields.
2025-11-10 00:55:35 +00:00
google-labs-jules[bot]
5fd7b4b40a feat: Increase test coverage for pkg/mining
This commit introduces a number of new tests for the `pkg/mining` package,
increasing the overall test coverage from 8.2% to 40.7%.

The following changes were made:

- Added tests for the `XMRigMiner` struct, including its methods for
  installation, starting, stopping, and getting stats.
- Added tests for the `Service` layer, including the API endpoints for
  listing, starting, stopping, and getting stats for miners.
- Added tests for the `Manager`, including starting and stopping multiple
  miners, collecting stats, and getting hashrate history.
- Introduced a `ManagerInterface` to decouple the `Service` layer from the
  concrete `Manager` implementation, facilitating testing with mocks.
- Fixed a failing test on Windows by creating a Windows-compatible
  dummy executable.
2025-11-10 00:45:35 +00:00
google-labs-jules[bot]
0f8f61071e feat: Increase test coverage for pkg/mining
This commit introduces a number of new tests for the `pkg/mining` package,
increasing the overall test coverage from 8.2% to 40.7%.

The following changes were made:

- Added tests for the `XMRigMiner` struct, including its methods for
  installation, starting, stopping, and getting stats.
- Added tests for the `Service` layer, including the API endpoints for
  listing, starting, stopping, and getting stats for miners.
- Added tests for the `Manager`, including starting and stopping multiple
  miners, collecting stats, and getting hashrate history.
- Introduced a `ManagerInterface` to decouple the `Service` layer from the
  concrete `Manager` implementation, facilitating testing with mocks.
2025-11-10 00:06:35 +00:00
ab91100e38
Merge pull request #3 from Snider/feat-ci-improvements
Feat ci improvements
2025-11-09 23:36:23 +00:00
google-labs-jules[bot]
30497ac317 feat(ci): add matrix testing and conditional release
- Adds a `test` job to the `release.yml` workflow that runs on a matrix of operating systems (Linux, macOS, Windows).
- The `release` job is now dependent on the `test` job.
- The workflow is now triggered on every push, but the `release` job only runs on tag pushes.
- Adds a `test-release` target to the `Makefile` to run tests and cross-compile the binaries for all platforms.
- Updates the `release.yml` workflow to use the new `test-release` target.
- Adds a step to the `test` job to upload the coverage report to Codecov.
- Reorganizes the badges in the `README.md` file.
2025-11-09 23:11:21 +00:00
google-labs-jules[bot]
0fb239a239 feat(ci): add pre-release testing and codecov
- Adds a `test-release` target to the `Makefile` to run tests and cross-compile the binaries for all platforms.
- Updates the `release.yml` workflow to use the new `test-release` target before the `GoReleaser` action.
- Adds a step to the `release.yml` workflow to upload the coverage report to Codecov.
- Reorganizes the badges in the `README.md` file.
2025-11-09 23:05:47 +00:00
Snider
e36ce20d96 adds mbe-mining-dashboard.js to release binaries so you can interact with the miner-cli via a web interface. 2025-11-09 19:46:14 +00:00
Snider
fdac15ba43 windows build fix 2025-11-09 19:13:48 +00:00
Snider
6fd424f562 should add the custom element compile js file to the release. 2025-11-09 19:06:05 +00:00
Snider
9093ce16e9 adds a system log entry on miner start CryptoCurrency Miner started: %s (Binary: %s) because it's rude to not say hello to the OS's AV. 2025-11-09 05:35:40 +00:00
Snider
dc0eae0888 creates <mde-mining-dashboard> custom html element, for miner control and stats display. 2025-11-09 04:41:07 +00:00
Snider
a043a09d22 adds historial hashrate data that reduces from 10s res to 1m res after a rolling 5m window. 2025-11-09 04:08:10 +00:00
Snider
6ac80d211a Add logOutput field to control stdout/stderr logging and update miner management 2025-11-09 03:10:55 +00:00
Snider
98fa23af78 should add discord notifications, in theory. 2025-11-09 01:50:50 +00:00
Snider
3a1d9fdfa6 updates goreleaser 2025-11-09 01:36:03 +00:00
Snider
3ed1ccf08a updates goreleaser 2025-11-09 01:30:16 +00:00
Snider
bda2416816 adds miner-cli, a miner management and lifecycle tool 2025-11-09 01:02:31 +00:00
00ca76f6f2
Merge pull request #1 from Snider/copilot/create-go-package-cli
Create modular Go package with CLI for miner management
2025-11-08 17:02:11 +00:00
copilot-swe-agent[bot]
c4b7ee54f2 Remove binary from git and update gitignore
Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
2025-11-08 16:54:44 +00:00
copilot-swe-agent[bot]
4217632a77 All tests passing, security verified, package complete
Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
2025-11-08 16:53:57 +00:00
copilot-swe-agent[bot]
c8aecba99c Complete Go 1.24 package with CLI, tests, and configuration
- Initialize Go module with dependencies
- Create core mining package with Manager, Miner, and MinerConfig
- Implement comprehensive tests with 100% coverage
- Create CLI using Cobra with start, stop, list, status commands
- Add demo main.go for development and testing
- Configure CodeRabbit for automated reviews
- Configure GoReleaser for multi-platform releases
- Add EUPL-1.2 license
- Create Makefile with common targets
- Update README with badges and documentation
- Add .gitignore for Go projects

Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
2025-11-08 16:52:16 +00:00
copilot-swe-agent[bot]
d32df5d138 Initial plan 2025-11-08 16:43:06 +00:00
Snider
832caa8166
Initial commit 2025-11-08 16:43:01 +00:00