papampi / nvOC_miners

nvOC easy-to-use Linux Nvidia Mining OS Miners
8 stars 7 forks source link

nvOC_miners

Here is a quick how-to for reference.

Init miners repo

as nvOC submodule from nvOC installation path:

git submodule update --init --depth 1 --remote miners

or alternatively init as standalone repo:

git clone https://github.com/papampi/nvOC_miners miners

Install or update miners

You can pull and install miners update manually, in place of the easy nvOC miners-upgrade. It is useful if you cloned this one as standalone repo outside of a full nvOC install.

Assuming no changes into local miners repo:

cd miners

git fetch

git checkout <MINERS_BRANCH>

git pull

bash nvOC_miner_update.sh

otherwise either revert or stash before

For contributors: add a new miner to this repo

In this example we assume you want to add a fictitious miner called "NEWminer" to this repository

Create a new branch to work on

To allow your changes to be shared with the nvOC community you need to create your own branch where you can do all your changes. It's very easy:

cd miners

git checkout --force -b add-NEWminer 3.0-miners

As you can see your branch will use 3.0-miners as base branch.

Add binary package & installer

Add source code submodule & compiler

If recompilation support is needed:

cd miners

git -C NEWminer submodule add https://repo_url src

git -C NEWminer/src checkout RELEASE_COMMIT_HASH

git submodule status

git add NEWminer/src

git commit -m "Added NEWminer v0.1"

From now on, every time a submodule update is performed the new release tree will be checked out.

bash nvOC_miner_update.sh

Choose to compile that miner when prompted.

git push

to publish your update on the remote GitHub repo.

You can now open a new Pull Request (PR) for your miner addition proposal to share it with all nvOC users. After your PR gets merged everyone who use bash nvOC miners-upgrade command will get the new miner.

For contributors: update an existing miner to this repo

In this example we assume you want to update a fictitious miner called "NEWminer" which is part of this repository to a different version

Create a new branch to work on

To allow your changes to be shared with the nvOC community you need to create your own branch where you can do all your changes. It's very easy:

cd miners

git checkout --force -b update-NEWminer 3.0-miners

As you can see your branch will use 3.0-miners as base branch.

Update binary package & installer

Update source code submodule & compiler

If recompilation support is needed:

cd miners

git -C NEWminer submodule update --init --force src

git -C NEWminer/src fetch --unshallow

git -C NEWminer/src fetch

git -C NEWminer/src checkout RELEASE_COMMIT_HASH

git submodule status

git add NEWminer/src

git commit -m "Updated NEWminer to v0.2"

From now on, every time a submodule update is performed the new release tree will be checked out.

bash nvOC_miner_update.sh

Choose to compile that miner when prompted.

git push

to publish your update on the remote GitHub repo.

You can now open a new Pull Request (PR) for your miner update proposal to share it with all nvOC users. After your PR gets merged everyone who use bash nvOC miners-upgrade command will get the updated miner.