Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
common.yml 1.74 KiB
# --------------------------------------------------------------------------------------
# Common definitions that may be used in all subprojects
# --------------------------------------------------------------------------------------
---
variables:
  # CI_IMAGES_BASEPATH: Environment variable configure in gitlab
  CI_IMAGES_PATH: ${CI_IMAGES_BASEPATH}/ci-images
  CI_IMAGES_REV: test
  CI_IMAGE_PYTHON: "git.seco.com:5050/edgehog/yocto_ng/seco-base:${CI_IMAGES_REV}"
  CI_IMAGE_YOCTO: "secodocker/edgehog-builder:latest"
  # Include git submodules
  GIT_SUBMODULE_STRATEGY: recursive
  # Reduced depth as checkout of larger projects (like the kernel)
  # may take too long
  GIT_DEPTH: 1

# --------------------------------------------------------------------------------------
# Common infrastructure settings
# --------------------------------------------------------------------------------------
.infrastructure:
  stage: infrastructure
  tags:
    - infrastructure
  timeout: 10m
  image: $CI_IMAGE_PYTHON
  needs: []
  variables:
    # Include git submodules
    GIT_SUBMODULE_STRATEGY: recursive
    CI_COMMIT_SOURCE: ${CI_COMMIT_SHA}

.yamllint:
  extends: .infrastructure
  rules:
    # Only run this job in the parent pipeline in the manifest, not again in the child
    # pipeline
    - if: $CI_PIPELINE_SOURCE == "parent_pipeline"
      when: never
    # Usually run this job only on non-master branches, i.e. in merge requests
    - if: $CI_COMMIT_REF_NAME != $MASTER_BRANCH
    # Additionally run this job if pipeline was triggered by the API, which happens e.g.
    # when no pipeline has run in a merge request, so a full build pipeline is needed on
    # the master
    - if: $CI_PIPELINE_SOURCE == "api"
  script:
    - yamllint -c .gitlab-ci/.yamllint.yml .*.yml