How to build from source code
IVA is developed with Lit, therefore it is mainly developed in JavaScript and makes a heavy usage of HTML and CSS. It uses Grunt as building tool. IVA also requires of OpenCB JSorolla project to be built, this is a JavaScript library developed for several OpenCB web-based projects, this can be found as Git submodule in IVA.
Stable releases are merged and tagged at master
branch, you are encourage to use the latest stable release for production. Current active development is carried out at develop
branch, only building is guaranteed and bugs are expected, use this branch for development or for testing new functionalities. The only dependency of IVA from OpenCB is JSorolla.
Prerequisites
The following technologies are needed to build IVA
Install Nodejs
Cloning
IVA is an open-source project and can be downloaded either as package(tar.gz) from GitHub releases or source code by cloning the repository.
Default develop
branch can be downloaded by executing:
$ git clone https://github.com/opencb/iva.git
Cloning into 'iva'...
remote: Counting objects: 624, done.
remote: Total 624 (delta 0), reused 0 (delta 0), pack-reused 624
Receiving objects: 100% (624/624), 139.37 KiB | 0 bytes/s, done.
Resolving deltas: 100% (356/356), done.
Checking connectivity... done.
Latest stable release at master
branch can be downloaded by executing:
$ git clone -b master https://github.com/opencb/iva.git
Cloning into 'iva'...
remote: Counting objects: 624, done.
remote: Total 624 (delta 0), reused 0 (delta 0), pack-reused 624
Receiving objects: 100% (624/624), 139.37 KiB | 191.00 KiB/s, done.
Resolving deltas: 100% (356/356), done.
Checking connectivity... done.
After this, in both cases, you must execute the following command to fetch the JSorolla submodule (only the first time):
git submodule update --init
Go to lib/jsorolla
and checkout to develop
branch of Jsorolla by
cd lib/jsorolla
git checkout develop
Build
First, you must update JSorolla dependencies, from the root folder execute:
cd lib/jsorolla
npm install
Finally, to build IVA execute:
We have to install npm packages for IVA, from the root folder execute:
npm install
And now execute:
npm run build
when completed, all compiled files will be located under the build
folder.
Test
We use Cypress.io as e2e testing framework.
Having the project running through the command npm run serve
, you can run the interactive E2E test suite by running the command
npm run e2e
Run tests and generate a report
To run test in headless version (no browser) and generate a report, run
npm run e2e-report
for more help, try npm run e2e-report -h
.
For Windows environment, just add the suffix -win
npm run e2e-win
npm run e2e-report-win
for more help, try npm run e2e-report-win -h
.
The HTML report will be generated in ./report
. The filename will have the structure <OPENCGA_STUDY_FQN>__<TIME>_<DATE>.html
.
Last updated
Was this helpful?