Skip to content

Environment Variables

PyFunceble provides some environment variables to control some of its internal states or logic before it actually loads any configuration files.

In this page you will find all environment variables grouped by "features".

Configuration Management

Environment Variable Description
PYFUNCEBLE_CONFIG_DIR If set, PyFunceble will assume its value as the location of the configuration files.
PYFUNCEBLE_AUTO_CONFIGURATION If defined with any value, PyFunceble will accept upstream configuration changes.

Output Management

Environment Variable Description
PYFUNCEBLE_OUTPUT_LOCATION Defines the folder where PyFunceble will generate the output/ folder and datasets.

Git / CI Management

Environment Variable Description
GIT_NAME Defines the git.name to setup and use.
GIT_EMAIL Defines the git.email to setup and use.
GIT_BRANCH Defines the branch to use to store results between multiple CI/CD sessions. WARNING: This doesn't apply to the final results
GIT_DISTRIBUTION_BRANCH Defines the branch to use to distribute the final results of multiple CI/CD sessions.
GITHUB_TOKEN Under a GitHub Action worker or Jenkins CI worker, defines the token to use to authenticate ourselves against the GitHub infrastructure.
GL_TOKEN Under a GitLab CI/CD runner, defines the token to use to authenticate ourselves against the GitLab infrastructure.
GH_TOKEN Under a Travis CI instance, defines the token to use to authenticate ourselves against the GitHub infrastructure.
PYFUNCEBLE_BYPASS_BYPASS If set, PyFunceble will skip the bypass logic. Meaning that if a commit match the defined markers (cf: [ci skip], and others), the bypass logic will be skipped - if this variable is defined.

Database Management

The environment variables listed below are used to share your database credentials with PyFunceble.

Environment Variable Description
PYFUNCEBLE_DB_CHARSET The charset PyFunceble has to use while writing into the database.
PYFUNCEBLE_DB_HOST The location of the database. It can be an IP, hostname or an absolute path of a unix socket file.
PYFUNCEBLE_DB_PORT When PYFUNCEBLE_DB_HOST is not a socket file, the port to reach the database through
PYFUNCEBLE_DB_USERNAME The username to use to authenticate ourselves.
PYFUNCEBLE_DB_PASSWORD The password to use to authenticate ourselves.
PYFUNCEBLE_DB_NAME The name of the database to work with.

Debugging

The environment variables listed below can be used to control the extended outputs of PyFunceble.

Beware!!!

Using the debug mode will help you understand what's going one under the hood, but may also leak private information inside the {output-dir}/logs folder.

Never share the debug output unsecurely.

Environment Variable Description
PYFUNCEBLE_DEBUG Activates the debug mode.
PYFUNCEBLE_DEBUG_LVL The logging level. Can be any of NONE, INFO, WARNING, ERROR, CRITICAL or DEBUG.
PYFUNCEBLE_LOGGING_LVL Alias of PYFUNCEBLE_DEBUG_LVL.
PYFUNCEBLE_DEBUG_ON_SCREEN Activates the output of debug logs to STDOUT. Should be true or false.

Internal Environment Variables

The environment variables shouldn't be set by yourself, but PyFunceble somehow still read and use them. #MayTheForceBeWithYou ⭐

Environment Variable Description
APPDATA Used under Windows to build or get the configuration folder, when PYFUNCEBLE_CONFIG_DIR is not found.
GITHUB_ACTIONS Used to detect whether we are running under a GitHub Action worker
GITLAB_CI Used to detect whether we are running under a GitLab CI/CD runner.
GITLAB_USER_ID Used to detect whether we are running under a GitLab CI/CD runner.
TRAVIS_BUILD_DIR Used to detect whether we are running under a Travis CI instance.
JENKINS_URL Used to detect whether we are running under a Jenkins CI worker.
JENKINS_HOME Used to detect whether we are running under a Jenkins CI worker.
PYFUNCEBLE_STANDALONE_CI Used to detect whether we are running under a Standalone CI/CD engine.

Beta Features

Beware!!!

This section is documented, but most of the features below them are not open to everyone - yet.

The environment variables listed below, are strictely reserved to selected or power users.

Environment Variable Description
PYFUNCEBLE_PLATFORM_API_TOKEN Set the API token to use when pushing data into the platform API.
PYFUNCEBLE_PLATFORM_CHECKER_PRIORITY Set the prioritized checker to accept while testing for the platform.
PYFUNCEBLE_PLATFORM_CHECKER_EXCLUDE Set the checker to exclude while testing for the platform.