As much as possible the project will follow an agile approach to software development. The intention is to refactor code in steps, while having working code at each step. For this, tests and mechanisms to run them will be developed and put in place early in the project. Code will be checked against these tests very regularly (continuous integration). The goal of this task is to put in place the environment that will make exchange of code, testing and exchange of information easy.

Where we are

The JEDI project s starting from scratch.

Where we want to go

A flexible and easy to use environment for community development, including:

  • Easy to access repositories for source code
  • Automated testing environment
  • Platform for exchange of information (Confluence and JIRA)

Proposed steps

Step 1: Prepare development environment

Task 1.1: Create repositories for source code (Bitbucket or github)

Task 1.2: Create Confluence space for the project

Task 1.3: Create project in JIRA

What it gives us: Tools to exchange code and information.

Step 2: Prepare GSI reference test cases

Task 2.1: Prepare low resolution GSI test case

Task 2.2: Prepare environment for compiling GSI (docker)

Task 2.3: Make test available to anybody who has access to the source code

What it gives us: Basic test case to compare refactored code against that are easy and quick to run for development and debugging.

Step 3: Educate users about environment

Task 3.1: Train users about collaborative work on source code

Task 3.2: Train users about testing environment

Task 3.3: Train users about working practices

Description of the work: Give enough information for users to use the infrastructure efficiently.

What it gives us: Ability to develop code faster and with more confidence in the result.

Step 4: Develop mode tests

Task 4.1: Define more GSI test cases

Task 4.2: Define test cases for subsets of the GSI

Task 4.3: Define low resolution test cases for FV3

What it gives us: Ability to test more parts of the code independently. Examples for users to develop more tests.

Comments

Development of test cases require involvement from scientists. This task is developing an infrastructure, not a full suite of tests.

 

  • No labels