# ICON CI: Establish own testlist configuration
###### tags: `functional cycle 11`
- Appetite: 2 weeks
- Developer: Abishek (2 weeks), David, Jonas, Mauro (Review)
### Background
In the long-term we want Integration tests for all the EXCLAIM use cases accross the EXCLAIM target machines (Alps, Lumi).
To this end, we currently mimick BuildBot, the CI tool used for ICON by the python script `scripts/spack/test.py` so we can make use of th existing tests of the ICON repo, as well as the environment fucntionality and concretizer provided by spack (`spack spec`).
This script parses BuildBot bash scripts which is super error prone. Also we need a few new features.
### Goals
Describe EXCLAIM BuildBot Tests using our own test list format
### Non Goals
Fix overall CI testing, wandering into the C2SM garden. Lets not touch `run/exp.namelists`.
### Progress
1. Implemented a parsing routine (in test.py) for testlist in the json format. PR: https://github.com/C2SM/icon-exclaim/pull/86
- test.py is now backward-compatible with existing icon testlists (bash)
- passing arguments to `make_target_runscript` is now supported
2. Added a new "checksuite" for exclaim tests under `run/checksuite.exclaim`. This also contains the new exclaim testlist in the json format `exclaim_testlist.json`
- **Update 24/10**: Moving exclaim tests + testlist to `run/checksuite.icon-dev` following Jonas' suggestion. This way we avoid duplicating some scripts.
4. David's Aquaplanet case `exclaim_ape_R2B04` now runs successfully for `nproma`,`mpi`,`openmp` tests.
- Need to do enable `restart` and `tolerance` tests (**next cycle**)
### Known Steps
1. Decide on a config file and format (JSON, XML, YAML, ???).
3. Rewrite current `_parse_test_file` routine using said format.
4. Allow passing of extra arguments to `make_target_runscript`, such as `cpu_time`,`no_of_nodes`,`queue`, etc
5. Implement MCH and APE tests using new fucntionality
### Possible Rabbit Holes
Merits of implementing our own ICON BuildBot-like infrastructure still unclear. BoD needs to discuss, hence the review from Mauro.