package errors // ErrorCode — тип для кода ошибки. type ErrorCode string // Перечисление кодов ошибок для валидации. const ( // Общие ошибки ErrEmptyFile ErrorCode = "EMPTY_FILE" // файл пуст или отсутствует ErrYamlSyntax ErrorCode = "YAML_SYNTAX_ERROR" // ошибка синтаксического анализа YAML // Ошибки, связанные с job ErrJobNameBlank ErrorCode = "JOB_NAME_BLANK" // имя задачи пустое ErrMissingScript ErrorCode = "MISSING_SCRIPT" // отсутствует обязательное поле script (или run) ErrBothScriptAndRun ErrorCode = "BOTH_SCRIPT_RUN" // одновременно присутствуют script и run ErrJobStageNotExist ErrorCode = "JOB_STAGE_NOT_EXIST" // указан stage, которого нет в списке разрешённых ErrUndefinedDependency ErrorCode = "UNDEFINED_DEPENDENCY" // зависимость не определена в списке job'ов ErrInvalidStageOrder ErrorCode = "INVALID_STAGE_ORDER" // зависимость имеет stage, который идёт позже, чем у задачи ErrDuplicateNeeds ErrorCode = "DUPLICATE_NEEDS" // дублирующиеся записи в needs ErrUndefinedNeed ErrorCode = "UNDEFINED_NEED" // need ссылается на несуществующую задачу ErrNeedNameTooLong ErrorCode = "NEED_NAME_TOO_LONG" // имя need превышает допустимую длину ErrNoVisibleJob ErrorCode = "NO_VISIBLE_JOB" // нет ни одной видимой задачи ErrMissingJobs ErrorCode = "MISSING_JOBS" ErrArtifactsPathsBlank ErrorCode = "ARTIFACTS_PATHS_BLANK" // отсутствует или пустой блок paths в artifacts ErrUnknownRootKey ErrorCode = "UNKNOWN_ROOT_KEY" // Changes ErrChangesNotArrayOfStrings ErrorCode = "CHANGES_NOT_ARRAY_OF_STRINGS" ErrChangesInvalidType ErrorCode = "CHANGES_INVALID_TYPE" ErrChangesTooManyEntries ErrorCode = "CHANGES_TOO_MANY_ENTRIES" ErrChangesMissingPaths ErrorCode = "CHANGES_MISSING_PATHS" // Paths ErrPathsNotArrayOfStrings ErrorCode = "PATHS_NOT_ARRAY_OF_STRINGS" // Job delayed parameters ErrStartInMissing ErrorCode = "START_IN_MISSING" ErrStartInInvalid ErrorCode = "START_IN_INVALID" ErrStartInTooLong ErrorCode = "START_IN_TOO_LONG" ErrStartInMustBeBlank ErrorCode = "START_IN_MUST_BE_BLANK" // Dependencies / Needs consistency ErrDependencyNotInNeeds ErrorCode = "DEPENDENCY_NOT_IN_NEEDS" // Rules validation ErrRulesOnlyExcept ErrorCode = "RULES_ONLY_EXCEPT" ErrRulesOnly ErrorCode = "RULES_ONLY" ErrRulesExcept ErrorCode = "RULES_EXCEPT" ErrInvalidExpressionSyntax ErrorCode = "INVALID_EXPRESSION_SYNTAX" ErrUnknownRulesKey ErrorCode = "UNKNOWN_RULES_KEY" ErrBeforeScriptInvalid ErrorCode = "BEFORE_SCRIPT_INVALID" ErrServiceInvalid ErrorCode = "SERVICE_INVALID" ErrStageInvalid ErrorCode = "STAGE_INVALID" ErrVariablesInvalid ErrorCode = "VARIABLES_INVALID" ErrVariablesInvalidKey ErrorCode = "VARIABLES_INVALID_KEY" ErrCyclicDependency ErrorCode = "CYCLIC_DEPENDENCY" // обнаружена циклическая зависимость ErrBooleanValue ErrorCode = "BOOLEAN_VALUE" // значение должно быть булевым ErrIncludeRulesInvalid ErrorCode = "INCLUDE_RULES_INVALID" // значение exists или changes не является строкой или массивом строк )