| `SPHINX_SOURCE_DIR` | Sphinx source directory (relative to `$SPHINX_PROJECT_DIR`) containing the Sphinx `conf.py` file | `source` |
| `SPHINX_BUILD_DIR` | Sphinx build directory (relative to `$SPHINX_PROJECT_DIR`), the path will be declared as artifact | `build` |
| `SPHINX_REQUIREMENTS_FILE` | Requirements file. If the file is not found in the repository, requirements are read from the `SPHINX_REQUIREMENTS` variable | `requirements.txt` |
| `SPHINX_REQUIREMENTS` | Space separated requirements (ignored if a requirement file is found) | _none_ |
| `SPHINX_BUILD_ARGS` | [`sphinx-build` options](https://www.sphinx-doc.org/en/master/man/sphinx-build.html)) to be used in the build job, | `-M html` |
| `SPHINX_LYCHEE_ENABLED` | Set to `true` to enable this job | _none_ (disabled) |
| `SPHINX_LYCHEE_IMAGE` | The Docker image used to run [lychee](https://github.com/lycheeverse/lychee) | `registry.hub.docker.com/lycheeverse/lychee:latest` |
This job enables a manual [dependency check](link-to-the-tool) analysis of your code, mapped to the `test` stage.
:warning: this template is not a deployment template and it only builds a Sphinx project.
It uses the following variables:
You might deploy the generated site using a [GitLab pages](https://docs.gitlab.com/ee/user/project/pages/) job (there is [a variant for that](#gitlab-pages-variant)) or any other method you see fit.
This job is **disabled by default** and performs a publish of your built binaries.
Basically it copies the content of the sphinx generated site folder (`site` by default) to the `public` folder which is published by [GitLab pages](https://docs.gitlab.com/ee/user/project/pages/#how-it-works).
It uses the following variables:
If you wish to use it, add the following to your `gitlab-ci.yml`:
"description":"Requirements file (relative to `$SPHINX_PROJECT_DIR`). If the file is not found in the repository, requirements are read from the `SPHINX_REQUIREMENTS` variable",
"default":"requirements.txt",
"advanced":true
},
{
"name":"SPHINX_LINT_ARGS",
"description":"Lint [options and arguments](link-to-the-cli-options)",
"default":"--serevity=medium",
"name":"SPHINX_REQUIREMENTS",
"description":"Space separated requirements (ignored if a requirement file is found)",