This file, named `job.yml`, contains the job metadata, in `yaml` format, with
the following fields:
### How can I test my job locally/easily ?
Locally ? using the doxygen binary in my own operating system ? (brew install...)
Using a blank repo in gitlab ? ex: https://gitlab.com/coconux/doxygen and link with the job in WIP Ex: - remote: 'https://gitlab.com/go2scale/hub/-/raw/111-add-doxygen-job/jobs/doxygen/doxygen.yml'
How can I check the hub documentation went well ?
...
*`name`: name of the job
*`description`: short description of the job
*`default_stage`: default stage of the job, you have to choose the most
relevant stage from our [default stage list](/use-the-hub/#stages)
*`icon`: TODO
*`maintainer`: TODO
*`license`: TODO
### About versions:
Example:
```yaml
```
#### Job documentation: `README.md`
*`README.md`: file containing documentation of a job (`markdown`)
*`versions`: folder containing releases notes files for each versions of the job
*`0.1.0.md`: release note
### Mandatory criteria
* All mandatory files of the [job structure](/structure#job-structure) must be provided
* All fields from `job.yml` must be fulfilled (excepted `icon` which is optional but if no icon is chosen we put a default icon. We also have to help the user to choose an icon by proving him a link (emojipedia) or anything to choose)
* Job file must be validated by gitlab (CI lint)
## Mandatory rules for **public** jobs (not enforced private jobs, can be customized for on-premise)
* The job must be run in a docker container
* Provide evidences of job working (url, screenshots, output, ...)
* Must be compliant with our security jobs (#230, #229)
* Must be compliant with our job definition (see #39) (ex: a job mustn't be a daemon)
* Variables naming convention (to be defined, should we require the job name uppercase as prefix for all variables ? Think about a way to verify variables in hub pipeline and permit various configuration for on-premise #231)
* Ensure that every resource used by the job has a license permitting to anyone to use it without a strong copyleft
* Ensure that every resource used by the job has a license compatible with the job license
***Question**: is it possible to use a GPL tool in my job if my job is delivered under Apache or MIT ?
* Docker image version and version of all tools retrieved must be fixed
* What about code-owners
The installed version of Doxygen must be specified as variable with the default value on the current latest version 1.8.18-r0
A fixed tag must be specified for the alpine image used