docs/ci/run-spec.md
The CI run specification is a jsonnet library to declaratively express on which platform (os/arch/jdk)
and at which frequency (gate/daily/weekly/etc) to run a certain job.
The main idea is to have a single point that describes what a task does (e.g. run mx unittest) that is decoupled (logically but not spatially) from
where and when to execute it.
The entry point of the library is run-spec.jsonnet.
Examples and further details can be found in run-spec-demo.jsonnet
and run-spec-examples.jsonnet.
platform is defined by an os, an architecture and a jdk.task is the definition of something we want to execute without consideration of the platform.variants of task generate a set of tasks based on user slight alterations of a task.batches of a task splits a large task into N smaller tasks.frequency defines how often a task must be executed: gate, postmerge, daily, weekly, monthly, ondemand.job is the complete definition of a runnable CI job. It is defined by a task, a platform and a frequency.build is the result of job execution within a specific CI system. It is identified with a unique number.