Configuration Reference

Vjer project configuration is stored in a YAML file named vjer.yml by default. You can override the filename using the VJER_CFG environment variable.

Schema

The configuration file must include a schema value. The current supported schema is 3.

Sections

The supported configuration sections are:

  • project

  • test

  • build

  • deploy

  • rollback

  • release

Example configuration

schema: 3
project:
  name: vjer
  version_service:
    type: bumpver
test:
  steps:
    - type: flake8
    - type: pylint
    - type: mypy
    - type: python_unittest
build:
  steps:
    - type: sphinx
      doc_type: cli
release:
  steps:
    - type: pypi
      test_pypi: true
      username: __token__
      password: "{var:PYPI_TOKEN}"
      pre_release_only: true
    - type: increment_release

Project section

The project section defines general project settings and defaults. Common fields include:

  • name — the project name.

  • version_service — controls how the release version is determined. - type: bumpver reads the version from bumpver configuration. - type: environment reads the version from an environment variable. - type: vjer uses Vjer’s internal versioning behavior.

  • environment — optional environment variables set before actions run.

Default project values include:

  • artifacts_dir (default artifacts)

  • documentation (default docs)

  • test_results (default test_results)

  • build_num_var (default VJER_BUILD_NUM)

  • chart_root (default helm-chart)

  • dockerfile (default Dockerfile)

  • version_service.type (default vjer)

Build section

The build section defines build step configuration. Common fields include:

  • source_dir — the build source tree root.

  • version_files — files used for version updates.

  • artifacts — artifact publishing or packaging settings.

  • build_date — a timestamp inserted into the build metadata.

  • platform — platform information used by the build environment.

Test section

The test section contains a steps list describing tests to run. Each entry typically defines a type such as flake8, pylint, mypy, or python_unittest.

Release section

The release section contains a steps list describing publish and versioning actions. Common release step types include pypi, increment_release, setuptools_build, and github.

Deploy / rollback

The deploy and rollback sections contain step lists for deploying and rolling back releases. These sections are used by the matching vjer deploy and vjer rollback actions.

Writing configuration

Vjer can write a configuration file from the active ProjectConfig object using ProjectConfig.write(). This writes only values that are present in the active configuration and preserves the schema field.

Notes

  • If a configuration file is missing, Vjer raises a ConfigurationError.

  • Invalid schema values are rejected.

  • The project config defaults are applied automatically when Vjer loads the file.