A single repo for testing and CI purposes
You'll need nodejs
, nodemon
and meta
installed
sudo snap install node --classic --channel=14
npm i -g nodemon meta # sudo may be required
meta git clone [email protected]:ministry-of-silly-code/buddy_metarepo.git
cd buddy_metarepo
if you keep the watcher running, everything will be kept in sync all the time
You can quickly spin a deploy with just a command that:
- creates a docker environment
- setups a venv in the docker
- clones the example repo
- installs Buddy locally
- runs the deploy
- waits for the results
- bonus: it detonates every time you make a single mistake, like a hand grenade :D
# With virtualenv
virtualenv buddy_env
source ./buddy_env/bin/activate
# With Anaconda/Miniconda
conda create --name buddy_env python=3.7
conda activate buddy_env
Runs a local deploy
./test_scripts/watcher.sh local
Runs a complete deploy on the cluster
./test_scripts/watcher.sh cluster
nodemon --config ./test_scripts/nodemon.json -- local
#To allow the docker to communicate with the cluster you may need to change your ~/.ssh/config permissions
sudo chown root:$USER ~/.ssh/config && sudo chmod 640 ~/.ssh/config
#The first runs is quite slow, give it a few minutes
nodemon --config ./test_scripts/nodemon.json -- cluster
You can do the same runs within a Docker container, same conditions apply, but there is no need for a venv
export WANDB_API_KEY=[your-wandb-key] # Just run it once, you can find your key here: https://wandb.ai/settings
# Local
nodemon --config ./test_scripts/nodemon.json -- docker local
# Remote
nodemon --config ./test_scripts/nodemon.json -- docker cluster