Updating (Developing) and Testing within the exaalt repository
Recall that the development (repository changes using git commands) of the separate LAMMPS, LATTE and ParSplice capabilities should be done within the exalt_dev/exaalt_comps directory (that you have created on your own machine) under the desired project (lammps, latte, or parsplice). However, in order to test the interaction between these codes (for eventual deployment), and to develop scripts/drivers that should be external to the separate codes, you will also need to make changes to the exaalt repository directly inside the top exalt_dev directory.
Updating submodule references
One of the main changes you may want to make to the exaalt repository is to update a submodule to reference the most recent commit (of a specific branch) in the repository that is referenced by that submodule. In other words, you may have made changes in one of the component code repositories (exaalt/latte for example), and now you want to test the changes within the integrated EXAALT framework. To do this (with latte, for example):
cd ~exaalt_dev/exaalt/latte/ git checkout <branchname_in_latte> cd ../ git add latte git commit –m “updating latte reference to <branchname_in_latte>” git push -u origin <working_branch_in_exaalt>
Note that you can also checkout a specific commit (ex. git checkout <commit ID>)
The <working branch> to use in exaalt/exaalt:
To be consistent with the individual LAMMPS and ParSplice repositories, the exaalt branch (rather than the master branch) should be treated as the master branch during day-to-day development.
Note that, by default, gitlab will trigger the tests listed in the .gitlab-ci.yml file when you push (or merge) to a branch of the exaalt/exaalt/ project. If you are making many changes and do not feel that CI tests are not necessary for every push, you must include [ci skip] in your commit message. If you do this, you won't have to wait for the tests to finish before your push goes through.