Factory Definition

Each Factory can be customized to control how CI handles it. This is managed in the “Factory Definition” which is located in a factory’s ci-scripts.git repository in the factory-config.yml file.

notify

notify:
email:
users: <email_1>,<email_2>,<...>
Required: Comma separated list of addresses to email after each CI build.
failures_only: <true|false>

Optional: If set to true users will only be notified of CI failures.

Default: false

webhooks:

Optional:

Default: Disabled

  • url: https://example.com/customer-webhook-endpoint

    Required: Customer owned HTTP(s) endpoint to send webhooks

    secret_name: my-secret-name

    Required: See CI Webhooks for details.

    failures_only: <true|false>

    Optional: If set to true users will only be notified of CI failures.

    Default: false

lmp

lmp:
preloaded_images:
enabled: <true|false>

Optional: Whether to preload docker images into the system-image as part of a platform build.

Default: false

Inherits: containers

shortlist: <app1>,<app2>,<...>

Optional: Comma separated list of apps to preload. If it is not specified or its value is empty, then all Target’s apps are preloaded.

Default: None

params:
EXAMPLE_VARIABLE_1: <value>

Optional: Define an arbitrary environment variable to be passed into the LmP build. You can define as many as you want.

Default: This variable is user defined and does not exist unless instantiated.

machines:
- <machine_1>
- <machine_2>

Required: Specify the list of Supported LmP Machines to build for by their MACHINE name. A Factory’s subscription is generally only good for a single machine.

Default: Set by user during Sign Up

Note

The CI is configured to decline changes in the machines: parameter. If needed, ask a support engineer to update the machine definition for your FoundriesFactory.

image_type:<lmp_image_type>

Optional: Set the LmP image type to produce by recipe name. For example, lmp-mini-image, lmp-base-console-image from meta-lmp.

Default: lmp-factory-image
(from recipes-samples/images/lmp-factory-image.bb in your meta-subscriber-overrides.git repo)

ref_options:
refs/heads/<branch>:

Optional: Override options when specific git references are updated

Example:

# In the below example, when the branch named "devel" is built by our
# CI system, it will have its option values for "machine" and
# "params" overriden by what is specified after "refs/heads/devel:".
# In the "devel" build, IMAGE will now equal "lmp-mini" rather than
# "lmp-factory-image" as initially defined.

lmp:
  params:
    IMAGE: lmp-factory-image
  machines:
    - imx8mmevk
  ref_options:
    refs/heads/devel:
      machines:
        - raspberrypi3-64
      params:
        IMAGE: lmp-mini
tagging:
refs/heads/<branch>:
-tag: <tag>
Optional: Control how OTA_LITE tags are handled. See Advanced Tagging for more details.
mfg_tools:
- machine: <machine>

Optional: Do an OE build to produce manufacturing tooling for a given MACHINE. This is used to facilitate the manufacturing process and to ensure secure boot on devices. Currently only NXP tools are supported.**

Default: None

image_type: <mfg_image_type>

Optional: Sets the name of the recipe to use to build mfg_tools.

Default: mfgtool-files
(from meta-lmp-base/recipes-support/mfgtool-files/mfgtool-files_0.1.bb)

containers

containers:
preloaded_images:
enabled: <true|false>

Optional: Whether to preload docker images into the system-image as part of a containers build.

Default: false

shortlist: <app1>,<app2>,<...>

Optional: Comma separated list of apps to preload. If it is not specified or its value is empty, then all Target’s apps are preloaded.

Default: None

platforms:
- arm
- arm64
- amd64

Optional: Specify a list of architectures to build containers for. Containers are only built for the specified list.

Default: arm,arm64,amd64

tagging:
refs/heads/<branch>:
-tag: <tag>

Optional: Control how OTA_LITE tags are handled. See Advanced Tagging for more details.

Default: This variable does not exist unless instantiated.

docker_build_secrets:
true|false

Optional: Enable secrets to be passed to container builds.

Default: false

container_registries:

container_registries:
type:
aws|azure|gar

Optional: Authenticate with third-party registries during container builds.

Default: none

ci_scripts

Optionally use a custom version of ci-scripts to perform CI builds.

ci_scripts:
url:

Optional: Git URL to clone

Default: https://github.com/foundriesio/ci-scripts

git_ref:

Optional: Git tag, branch, or SHA to use

Default: master