ICE syntax
Header
Every Codinamo pipeline source starts with the ICE language version and Codinamo realm:
ICE-1.0.0
codinamo >= 1.0.0
Pipeline section
@pipeline {
name: "build"
description: "Build application"
environment: "default"
continueOnError: false
}
Actions
Actions are bindings to functions in the action namespace:
@actions {
clone: action.GIT_CLONE({
params: {
repositoryUrl: "https://example.com/repository.git",
recursive: true
}
})
}
The binding name must start with a letter and contain only letters, numbers, and underscores. It becomes the action reference name.
Parameter values can be strings, numbers, booleans, null, lists, and objects.
Runtime values are written as expressions and remain unchanged when the source is parsed or regenerated by the editor:
@actions {
build: action.MAVEN_BUILD({
params: {
sourceDir: "${clone.repository_path}"
}
})
}
Graph flow
One edge per statement:
@flow {
clone -> build
build -> publish
}
Sequential chain:
@flow {
clone -> build -> publish
}
Fan-out and join:
@flow {
clone -> build -> [image, checksum] -> publish
}
The canonical writer may expand a chain into individual sorted edges while preserving graph semantics.