Farm fresh Colony ABIs.
First we need to create the relevant contract ABIs and store them in this repo (these are just .json
files containing information about the contract interfaces. We will be generating them in the colonyNetwork
repo which is a submodule of this repository.
Make sure you have the correct node version
nvm use
Go into the vendor/colonyNetwork
subdirectory and check out the correct tag for the latest ColonyNetwork version (here glwss
):
cd vendor/colonyNetwork
git checkout glwss
Update all git submodules and install all dependencies (see also this guide):
git submodule update --recursive
npm ci
You will need Docker installed and running to compile the contracts. It is however possible to disable Docker for the builds, see here for more information.
Next do:
rm -rf build/contracts/*.json # to remove any prior builds
npx truffle compile
Now we should have all the necessary contract ABIs ready. Next we extract those using the build
command. Specify the network tag to create the corresponding sub-directory:
cd ../.. # go back to the colonyJS root folder
npm run build -- -t=glwss
That process should be fairly quick. A directory called abis/glwss
should have been created, containing all the required ABIs for the next version (and more).
A snapshot can be created using GitHub actions:
- Create a new branch and adjust
versions.json
to the versions according to the colonyNetwork tag/branch you want to build - Go to Actions within GitHub and select the "Release a snapshot" action.
- Click "Run workflow" on the right and select the branch you just created as well as the colonyNetwork tag or branch you want to build
- Click "Run workflow" and if everything works well, a snapshot release will be published to npm