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: Available options: "stdio", "checkmarx", "file", "sarif".
  • project: A JSON object, then keys will be described in the next section.

Project configuration

Example configuration for a project:

config.json
{
  "output": ["stdio", "file"],
  "version": "1.0",
  "project": {
    "name": "appname",
    "type": "beam",
    "apps": [
      {
        "name": "appname",
        "additional_includes": []
      },
      {
        "name": "appname2",
        "additional_includes": []
      }
    ],
    "paths": [
      "_build/default/lib"
    ]
  }
}

  • 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.