Commit graph

24 commits

Author SHA1 Message Date
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