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
- users:
- 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
- url:
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
- enabled:
- 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.
- EXAMPLE_VARIABLE_1:
- 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 Signing 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
- refs/heads/
- tagging:
- refs/heads/
<branch>
:
-tag: <tag>
- Optional: Control how OTA_LITE tags are handled. See Advanced Tagging for more details.
- refs/heads/
- 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)
- image_type:
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
- enabled:
- 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.
- refs/heads/
- 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
- git_ref:
Optional: Git tag, branch, or SHA to use
Default: master