Skip to content
Snippets Groups Projects
gitlab-ci-python.yml 48.07 KiB
# =========================================================================================
# Copyright (C) 2021 Orange & contributors
#
# This program is free software; you can redistribute it and/or modify it under the terms
# of the GNU Lesser General Public License as published by the Free Software Foundation;
# either version 3 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License along with this
# program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
# Floor, Boston, MA  02110-1301, USA.
# =========================================================================================
spec:
  inputs:
    image:
      description: The Docker image used to run Python - **set the version required by your project**
      default: registry.hub.docker.com/library/python:3-slim
    project-dir:
      description: Python project root directory
      default: .
    build-system:
      description: Python build-system to use to install dependencies, build and package the project
      options:
      - auto
      - setuptools
      - poetry
      - pipenv
      - reqfile
      default: auto
    reqs-file:
      description: |-
        Main requirements file _(relative to `$PYTHON_PROJECT_DIR`)_

        For [Requirements Files](https://pip.pypa.io/en/stable/user_guide/#requirements-files) build-system only
      default: requirements.txt
    extra-reqs-files:
      description: |-
        Extra dev requirements file(s) to install _(relative to `$PYTHON_PROJECT_DIR`)_

        For [Requirements Files](https://pip.pypa.io/en/stable/user_guide/#requirements-files) build-system only
      default: requirements-dev.txt
    compile-args:
      description: '[`compileall` CLI options](https://docs.python.org/3/library/compileall.html)'
      default: '*'
    pip-opts:
      description: pip extra [options](https://pip.pypa.io/en/stable/cli/pip/#general-options)
      default: ''
    extra-deps:
      description: |-
        Extra sets of dependencies to install

        For [Setuptools](https://setuptools.pypa.io/en/latest/userguide/dependency_management.html?highlight=extras#optional-dependencies) or [Poetry](https://python-poetry.org/docs/pyproject/#extras) only
      default: ''
    package-enabled:
      description: Enable package
      type: boolean
      default: false
    pylint-enabled:
      description: Enable pylint
      type: boolean
      default: false
    pylint-args:
      description: Additional [pylint CLI options](http://pylint.pycqa.org/en/latest/user_guide/run.html#command-line-options)
      default: ''
    pylint-files:
      description: Files or directories to analyse
      default: ''