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.