Skip to content

Configuration file for the CI/CD

The SAFE Desktop App should generate a good default configuration for SAFE CI/CD, but you can also configure it manually. Desktop setup

The configuration file should be named config.json and should be placed in the .safe folder.

The configuration file should be a JSON object with the following keys:

  • output: Currently only "stdio" is supported, more options may be added in next releases.
  • project: A JSON object, then keys will be described in the next section.

Project configuration

Example configuration for a project:

config.json
{
    "output": ["stdio"],
    "version": "1.0",
    "project": {
      "type": "erlang",
      "name": "erlang_project",
      "appbases": [
        "_build/default/lib"
      ],
      "excludes": [
        "/test/"
      ],
      "includes": [
        "apps/services/include",
        "apps/custom_cmd/include",
        "apps/config/include",
        "apps/alarms/include"
      ],
      "extra_paths": [
        "apps/plugin/priv"
      ]
    }

  }

  • name: The name of the project as string.
  • type: The type of the project, currently "beam" is supported, that can be used for Erlang and Elixir projects as well.
  • apps: A list of JSON objects, each object represents an application in the project. (Note: we are searching for apps recursively as well in the paths)
  • name: The name of the application as string.
  • additional_includes: A list of strings, each string is a path to a directory that should be included in the analysis, that might not be included by default. These paths are relative to the project root.
  • paths: A list of strings, each string is a path to a directory where the applications are located.