-
Notifications
You must be signed in to change notification settings - Fork 21
CI system (via GitHub actions)
Every commit to master
automatically runs our ARAX Pytest suite on an EC2 instance via Github Actions (using a "self-hosted runner").
This is what determines the passing/failing 'Test Build' badge in our GitHub repo.
The EC2 instance this automatic testing is done on is cicd.rtx.ai
; it should be left running all the time. Ask another dev if you need access to this instance.
The runner should always be left running, but in the event you need to start it, do the following:
ssh [email protected]
cd actions-runner/
sudo ./svc.sh start
If instead you just want to see its status, use this command:
sudo ./svc.sh status
And if you need to stop the runner for some reason (we don't typically do this), use this command:
sudo ./svc.sh stop
More details/how-tos for the runner software are here.
With every run, the runner does a fresh build of ARAX via Docker from the master
branch. It uses the "merged" Dockerfile (at RTX/code/DockerBuild/Merged-Dockerfile
).
The exact steps the runner takes are defined in the config file at RTX/.github/workflows/pytest.yml
.
Note that, as part of its workflow, the runner automatically downloads the necessary config_secrets.json
file and also takes care of downloading all necessary databases from arax.ncats.io
; it also takes care of removing any databases it no longer needs (i.e., that no longer appear in config_dbs.json
in the master
branch). Thus you do not need to worry about uploading database files or config files to cicd.rtx.ai
, nor worry about it running out of disk space. Note that database files are not repeatedly downloaded with every run; instead, they are downloaded into their proper KG2 subdirectory in /mnt/data/orangeboard/databases
only once (if not already present).
As part of its workflow it also automatically creates a kg2_url_override.txt
file that ensures ARAX will use the KG2 API on localhost (i.e., on cicd.rtx.ai
).