Disclaimer: this is currently mainly targeting ETS release so it uses WPCD resources (SVN repository and existing procedures) at the moment. If the support script is ready to be used, the procedure itself is still being updated, so places and steps are subject to changes.
1.1.1.1. Prerequisites
Checkout the trunk/IMAS of the actor_release SVN repository on GFORGE (the repo itself is shared for both CPO and IDS actor releases)
svn co https://gforge6.eufus.eu/svn/actor_release/trunk/IMAS
(request access to the actor_release project directly on GFORGE if needed: https://gforge6.eufus.eu/gf/project/actor_release, request button on the top right under the activity graph)
1.1.1.2. Content of the repository
files | description |
---|---|
README | short description + few usage examples |
actor_install.py | script that automates the build of IMAS actor(s) |
TEMPLATE.yml | template description of a released project(s)/actor(s) |
*.yml | list of currently released project(s)/actor(s) |
1.1.1.3. Description of a release
Start by taking a look at TEMPLATE.yml, and adapt the different information to your own needs for the targeted project/actors.
This YAML file contains five mandatory sections (mappings) as follow:
sections | description | content | associated options | effect | |
---|---|---|---|---|---|
SOURCES: | (required) information on Version Control System | list (sequence) of mappings | description | --skipSources | do not checkout/clone sources (requires -D working_dir_path) |
VCS: | (required) type of Version Control System | ||||
REPO: | (required) URL of the repository, including path to branch/tag | -R --checkRevision | specifies and check revision number or a commit hash | ||
DIR: | (required) target directory in which to store this project sources | ||||
VERSION: | (optional) target version of the sources | ||||
MODULES: | (required) information on module environment required | sequence of modules, e.g. | after purge, list of modules will be loaded, while already | -M premodule | load any site specific module(s) before the ones in the YAML file (e.g "cineca" on the Gateway) |
BUILDS: | (required) information on how to build the libraries | sequence of build mappings | description | --skipBuilds | do not attempt to build the libraries (requires -D working_dir_path) |
DIR: | directory from which the build command should be executed | ||||
CMD: | build command (script, makefile, etc...) | ||||
ACTORS: | (required) information on where FC2K project files are stored | sequence of FC2K mappings | description | --skipActors | do not attempt to create the actor (requires -D working_dir_path) |
DIR: | directory from which fc2k should be executed | ||||
XML: | path to FC2K project file for a given actor | ||||
COMMENTS: | (optional) any comments, notes, documentation |
Note: all path are given relatively to the working directory (created automatically inside the current directory) or specified with option -D working_dir_path
1.1.1.4. How-to test and publish a release
One the YAML file is written, you can use the actor_install.py script to install it in your Kepler. As explain in the help accessible with option -h / --help, It takes as last argument(s) the YAML file(s).
If no error where discover during all the steps (you can use option -p / --pedantic to stop at first encounter error) you can commit you YAML file to the repository.