Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
manifest-pipeline-yocto.yml 27.25 KiB
---
# --------------------------------------------------------------------------------------
# Global
# --------------------------------------------------------------------------------------

include:
    - local: common.yml
    - local: boards/.a62.yml
    - local: boards/.c20.yml
    - local: boards/.c31.yml
    - local: boards/.tanaro.yml
    
variables:
  # The id of the gitlab project used in the rules section to not run pipelines in
  # forked projects. Using variable here, to allow override in other projects including
  # this file.
  MANIFEST_PROJECT_ID: 2307

  # In the manifest, the remotes are specified by an identifier. This is used to find
  # out included projects for the retrigger job. In custom manifests, the remote may be
  # named differently, so we need a variable that may be overriden.
  CI_PARAM_SECO_REMOTE: yocto_ng

  # GitLab group to search for projects to retrigger
  RETRIGGER_GROUP: ${CI_PROJECT_ROOT_NAMESPACE}
  BUILD_TIMEOUT: 6h
  RECIPE_NAME: seco-image-edgehog
  IMAGES_PATH: "tmp/deploy/images"
  TAG_NAME: weekly
  KERNEL: 5-10-52
  GIT_SSL_NO_VERIFY: 1
  FS_EXTENSION: rootfs.tar.bz2
  IMAGE_EXTENSION: wic.bz2


  # This is the jinja2 template file used to generate the build jobs
  #BUILD_JOBS_TEMPLATE: build-jobs-yocto.yml.jinja2

stages:
#  - manifest-pipeline
  - retrigger
  - build
  - deploy
  - notify

workflow:
  rules:
    # Explicitly allow externally triggered pipelines in every case
    - if: $CI_PIPELINE_SOURCE == "api"
    - if: $CI_PIPELINE_SOURCE == "pipeline"
    - if: $CI_PIPELINE_SOURCE == "web"
    - if: $CI_PIPELINE_SOURCE == "schedule"
    - if: $CI_COMMIT_TAG
    # Do not run pipelines for merge requests
    - if: $CI_MERGE_REQUEST_IID
      when: never
    # Do not run pipelines on forked projects
    # (use id instead of name because of rename)
    - if: $CI_PROJECT_ID != $MANIFEST_PROJECT_ID
      when: never
    # Do not run pipelines on integration branches
    - if: $CI_COMMIT_REF_NAME =~ /^integrate\/.*/
      when: never
    # In all other cases, run the pipeline automatically

.full_build_pipeline:

  rules:
    # Run the full build pipeline on non-master branches (i.e. in the merge request)
    # or if explicitly triggered by the API or the web button.