= Name and subject of the action Last edition: '''[[Wikinfo(changed_ts)]]''' by '''[[Wikinfo(changed_by)]]''' The PI is responsible to closely follow the progress of the action, and especially to contact NEMO project manager if the delay on preview (or review) are longer than the 2 weeks expected. [[PageOutline(2, , inline)]] == Summary ||=Action || Update trusting tool to enable it for the up-to-dae NEMO version || ||=PI(S) || Claire Lévy || ||=Digest || Trusting tool allows regular and automatic verification and validation, as first set up for continuous integration || ||=Dependencies || NEMO code, target computer || ||=Branch || source:/NEMO/branches/{YEAR}/dev_r{REV}_{ACTION_NAME} || ||=Previewer(s) || Names || ||=Reviewer(s) || Names || ||=Ticket || #2436 || === Description {{{#!box width=25em help Describe the goal of development and the methodology, \\ add reference documents or publications if relevant. }}} IMMERSE is expected to improve NEMO development process beyond state-of-the art through the extension of NEMO testing suite with a continuous integration service. Following most recent best practices in software development, this tasks aims at deploying a continuous integration service that will be triggered as often as needed, allowing a functional and scientific verification of code results. The service will allow to perform tests routinely on various selected configurations (code branch, testing scope, compiler, compilation options, HPC centers, …). [[br]] This action is a contribution to IMMERSE delivrable D2.1: Continuous integration service NEMO deployed on NEMO repository.[[br]] [[br]] The so-called trusting tool has been developped by Nicolas Martin in 2015. As an insight on the functionalities of this tool, it was producding the following web pages (with two different options below): * New interface on https://pagesperso.locean-ipsl.upmc.fr/ntmlod/trusting_dev * Older interface on https://pagesperso.locean-ipsl.upmc.fr/ntmlod/trusting This action will re-install the trusting tool to make it fonctionnal for the most recent NEMO releases.[[br]] Once this done, hopefully on a few centers/target computers to check partability, this action should also allow to easily add new configurations or test cases to the trusting process.[[br]] Starting point for the development https://forge.ipsl.jussieu.fr/nemo/browser/utils/CI/trust === Implementation {{{#!box width=35em help Describe flow chart of the changes in the code. \\ List the Fortran modules and subroutines to be created/edited/deleted. \\ Detailed list of new variables to be defined (including namelists), \\ give for each the chosen name and description wrt coding rules. }}} '''STEP1: reactivate trusting tool '''[[br]] Starting from the exisitng trusting tool, update it to make it fonctionnal with the latest NEMO version. Expected action: the NEMO svn repository has been reorganised since the intital development of trusting tool, so that some changes are expected to be needed to make it work again. This will include: * The trusting tool running on the latest NEMO version for at least one configuration * The web page generation working to allow quick/automatic check of the results '''STEP2: simple way to add new tests to the trusting tool'''[[br]] One should be able to easily add a test to trusting process. For example, if trusting is activated on a development branch, the PI of the action would probably like to add the associated new test case he will have developped to the trusting process. All this work will be developped in a development branch copied from utils/CI. === Documentation updates {{{#!box width=55em help Using previous parts, define the main changes to be done in the NEMO literature (manuals, guide, web pages, …). }}} THe work will be documented in a README file in the development branch, so as in a new wiki page in the Developers section here: http://forge.ipsl.jussieu.fr/nemo/wiki/Developers == Preview {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#preview_)]] }}} ''...'' == Tests {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#tests)]] }}} ''...'' == Review {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#review)]] }}} ''...''