Vridlo/types/Exercise: Difference between revisions

From ALT Linux Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Exercise''' is a structure that represents Exercise model, which is used for describing the subtask of the [[Vridlo/types/Assembler|Assembler]]'s [[Vridlo/types/Task|task]]. It is described as:
'''Exercise''' is a '''''secondary''''' structure that represents Exercise model, which is used for describing a subtask of the [[Vridlo/types/Assembler|Assembler]]'s [[Vridlo/types/Task|task]]. It is described as:
 
* '''id''' is ''natural '''mandatory read-only internal'''''
Unique internal identifier of the exercise represented by a natural integer.


* '''no''' is ''natural '''mandatory write-once'''''
* '''no''' is ''natural '''mandatory write-once'''''
Line 8: Line 5:


* '''kind''' is ''string '''mandatory write-once'''''
* '''kind''' is ''string '''mandatory write-once'''''
  Kind of the subtask.
  Kind of the subtask. Is one of ''repo'', ''srpm'', ''delete'', ''copy''.


* '''app_slug''' is ''string '''mandatory write-once'''''
* '''app_slug''' is ''string '''mandatory write-once'''''
  Unique name of the application, which the RPM belongs to.
  Unique name of the [[Vridlo/types/App|application]], which the RPM belongs to.


* '''committer_slug''' is ''string '''mandatory write-once'''''
* '''committer_slug''' is ''string '''mandatory write-once'''''
  The subtask committer slug in the context of the current assembler.
  The subtask committer slug in the context of the current assembler. The slug represents [[Vridlo/types/User|User]] structure, which is defined by a user's [[Vridlo/types/Recital|Recital]] record placed with the kind of ''login''.


* '''task_no''' is ''natural '''mandatory write-once'''''
* '''task_no''' is ''natural '''mandatory write-once'''''
  Task identifier in the context of the current assembler.
  Task identifier in the context of the current assembler.
* '''source_path_slug''' is ''string '''mandatory write-once'''''
Slug of the [[Vridlo/types/SourcePath|source path]], which the parent task belongs to.


* '''resource''' is ''string '''optional write-once'''''
* '''resource''' is ''string '''optional write-once'''''
  Name of the source build or resource for the task.
  Name of the source build or resource for the task. If '''kind''' is ''copy'', '''resource''' is the source for copying the package, and must be in format of ''<repo_name>:<package_name>'', for example ''sisyphus:GeoIP-ASNum''. If '''kind''' is ''repo'', the '''resourse''' is external git repo URI, which must match one of the values of [[Vridlo/types/Vcs|repo's]] '''filename''' field. If '''kind''' is ''srpm'',  the '''resourse''' is RPM file name, which must match to one of the presented in the [[Vridlo/types/Rpm|RPM]] field '''filename'''. If '''kind''' is ''delete'', the '''resourse''' must be blank.  


* '''sha''' is ''string '''optional write-once'''''
* '''sha''' is ''string[56] '''optional write-once'''''
  Sha
  [https://en.wikipedia.org/wiki/SHA-2 SHA2 224] 40-byted checksum over the [[Vridlo/types/Ref|referenced object]] matching the field '''sha''' in the [[Vridlo/types/Vcs|repo]]. It must be blank unless the '''kind''' is '''repo'''.


* '''approver_slugs''' is ''string array '''optional'''''
* '''approver_slugs''' is ''string array '''optional'''''
  Array of the subtask approver slugs in the context of the current assembler.
  Array of slugs of the subtask approver people in the context of the current assembler. The slug represents [[Vridlo/types/User|User]] structure, which is defined by a user's [[Vridlo/types/Recital|Recital]] record placed with the kind of ''login''.

Latest revision as of 18:22, 24 December 2019

Exercise is a secondary structure that represents Exercise model, which is used for describing a subtask of the Assembler's task. It is described as:

  • no is natural mandatory write-once
Number of subtask in the task. Is unique per task in the context of the current assembler.
  • kind is string mandatory write-once
Kind of the subtask. Is one of repo, srpm, delete, copy.
  • app_slug is string mandatory write-once
Unique name of the application, which the RPM belongs to.
  • committer_slug is string mandatory write-once
The subtask committer slug in the context of the current assembler. The slug represents User structure, which is defined by a user's Recital record placed with the kind of login.
  • task_no is natural mandatory write-once
Task identifier in the context of the current assembler.
  • source_path_slug is string mandatory write-once
Slug of the source path, which the parent task belongs to. 
  • resource is string optional write-once
Name of the source build or resource for the task. If kind is copy, resource is the source for copying the package, and must be in format of <repo_name>:<package_name>, for example sisyphus:GeoIP-ASNum. If kind is repo, the resourse is external git repo URI, which must match one of the values of repo's filename field. If kind is srpm,  the resourse is RPM file name, which must match to one of the presented in the RPM field filename. If kind is delete, the resourse must be blank. 
  • sha is string[56] optional write-once
SHA2 224 40-byted checksum over the referenced object matching the field sha in the repo. It must be blank unless the kind is repo. 
  • approver_slugs is string array optional
Array of slugs of the subtask approver people in the context of the current assembler. The slug represents User structure, which is defined by a user's Recital record placed with the kind of login.