Configure GitLab CI#

For repositories hosted on GitLab, plone.meta generates a .gitlab-ci.yml file instead of GitHub Actions workflows.

Select CI jobs#

[gitlab]
jobs = [
    "lint",
    "release-ready",
    "dependencies",
    "circular-dependencies",
    "testing",
    "coverage",
]

Use custom Docker images#

Specify Docker images per Python version using the custom_images dictionary:

[gitlab]
custom_images = {"3.14" = "python:3.14-trixie", "3.13" = "python:3.13-trixie"}

This allows different Python versions in the CI matrix to use appropriate base images (for example, Debian Trixie for Python 3.14 support).

Install OS-level dependencies#

[gitlab]
os_dependencies = """
    - apt-get install libxslt libxml2
"""

Test matrix support#

GitLab CI also benefits from the test matrix feature. When use_test_matrix is enabled (the default), the generated .gitlab-ci.yml will include test jobs for each combination of Plone version and Python version defined in [tox] test_matrix.

See Customize via .meta.toml for details on configuring the test matrix.

Add extra configuration#

[gitlab]
extra_lines = """
deploy:
  stage: deploy
  script:
    - echo "deploying"
"""