Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • add-lava-testreposrting
  • add-pydoc-config
  • all-src-revs
  • build-documentation-in-dedicated-pipeline
  • build-seco-image-after-fngsystem
  • change-poky-entry-group-id
  • changelog-generator-all-projects
  • debug_credentials
  • enhance-gitlab-backup
  • generate-package-add-name
  • master
  • seco-santvent-fsl
  • skip-deploy-if-target-not-set
  • store-build-variables
  • test_repo_verbose
  • troupbleshoot-qtkuktest-fail-due-privat-key
  • yt-65-proxy-solution-for-repo-checkout
  • yt-65-troubleshoot-meta-freescale
  • yt-93-improve-release-workflow-too-many-buttons-click-mock-test
  • yt-xxx-ci-test-build-fails
  • yt-xxx-ci-test-build-fails-1
21 results

Target

Select target project
No results found
Select Git revision
  • add-lava-testreposrting
  • add-pydoc-config
  • all-src-revs
  • build-documentation-in-dedicated-pipeline
  • build-seco-image-after-fngsystem
  • change-poky-entry-group-id
  • changelog-generator-all-projects
  • debug_credentials
  • enhance-gitlab-backup
  • generate-package-add-name
  • master
  • seco-santvent-fsl
  • skip-deploy-if-target-not-set
  • store-build-variables
  • test_repo_verbose
  • troupbleshoot-qtkuktest-fail-due-privat-key
  • yt-65-proxy-solution-for-repo-checkout
  • yt-65-troubleshoot-meta-freescale
  • yt-93-improve-release-workflow-too-many-buttons-click-mock-test
  • yt-xxx-ci-test-build-fails
  • yt-xxx-ci-test-build-fails-1
21 results
Show changes

Commits on Source 1

4 files
+ 98
103
Compare changes
  • Side-by-side
  • Inline

Files

Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ include:
  - project: '${CI_PROJECT_ROOT_NAMESPACE}/yocto/infrastructure/gitlab-ci'
    ref: ${GITLAB_CI_REVISION}
    file:
      - build-common.yml
      - build-pipeline.yml
      - common.yml

stages:
Original line number Diff line number Diff line
@@ -8,8 +8,7 @@ include:
  - project: '{{ CI_PROJECT_ROOT_NAMESPACE }}/yocto/infrastructure/gitlab-ci'
    ref: {{ GITLAB_CI_REVISION }}
    file:
      - build-common.yml
      - build-yocto.yml
      - build-pipeline.yml
      - common.yml

stages:
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ workflow:
# --------------------------------------------------------------------------------------
# Scripts
# --------------------------------------------------------------------------------------
.docker_check:
.docker_check: &docker_check
  # Check if the build folder is empty. Sometimes the docker volume for the build is not
  # removed afterwards (e.g. in case of a timeout), then a follow-up build might fail.
  - |-
@@ -21,7 +21,7 @@ workflow:
        exit 1
    fi

.setup_ssh:
.setup_ssh: &setup_ssh
  # Setup ssh key to access private repos
  # https://docs.gitlab.com/ee/ci/ssh_keys/#ssh-keys-when-using-the-docker-executor
  # An SSH keypair has been generated for the manifest's pipeline to be able to access
@@ -45,7 +45,7 @@ workflow:
  # Write SSH configuration from variable to config file
  - echo "$SSH_CONFIG" > ~/.ssh/config

.repo_checkout:
.repo_checkout: &repo_checkout
  - echo "${LOGPREFIX} Perform repo checkout"
  - cd ${CI_PROJECT_DIR}
  - repo init --submodules -u ${CI_REPOSITORY_URL}
@@ -53,6 +53,74 @@ workflow:
  - repo sync --detach --current-branch --force-remove-dirty
      --optimized-fetch --force-sync

.collect_srcrevs: &collect_srcrevs
  # write all package AUTOREVS to file
  - |-
    SRCREVS_FILE="${CI_PROJECT_DIR}/${BUILDPATH}/${IMAGEPATH}/BUILD_SRCREVS.log"
    if [ -d "$( dirname "${SRCREVS_FILE}" )" ];then
        buildhistory-collect-srcrevs > ${SRCREVS_FILE}
        echo "${LOGPREFIX} buildhistory-collect-srcrevs:"
        cat ${SRCREVS_FILE}
    fi

.dump_install_command: &dump_install_command
  # print install instructions
  - |-
    if [[ ! -z "${INSTALLSCRIPT}" ]]; then
      SCRIPT="${CI_PROJECT_DIR}/${BUILDPATH}/${IMAGEPATH}/${INSTALLSCRIPT}"
      if [ ! -f "${SCRIPT}" ]; then
          echo "Install script missing, searched for '$SCRIPT'"
          exit 1
      fi

      if [ "$CI_PROJECT_VISIBILITY" = "public" ];then
      cat <<-EOF
      ==============================
          Install the image:

      FNG="$FNG_INSTALL_URL"
      curl --location "\$FNG" | sh -s -- --url="\$(dirname "\$FNG")"
      ==============================
    EOF
      else
      cat <<-EOF
      ==============================
          Install the image:

      export GITLAB_TOKEN=<your_access_token>
      FNG="$FNG_INSTALL_URL"
      curl --location --header "PRIVATE-TOKEN: \$GITLAB_TOKEN" "\$FNG" \
                                | sh -s -- --url="\$(dirname "\$FNG")"
      ==============================
    EOF
      fi
    fi

.build_script: &build_script
  # setup build environment
  - echo "${LOGPREFIX} Build configuration MACHINE=${CI_PARAM_MACHINE}
      DISTRO=${CI_PARAM_DISTRO} IMAGE=${CI_PARAM_IMAGE}"
  - source build.env
  - echo "${LOGPREFIX} Using build dir ${BUILDPATH}"
  - export MACHINE="${CI_PARAM_MACHINE}"
  - export DISTRO="${CI_PARAM_DISTRO}"
  - export EULA="1"
  - source ./"${SETUPSCRIPT}" "${BUILDPATH}"
  # start build
  - echo -e "section_start:`date +%s`:bitbake_run\r\e[0KBitbake Log"
  - echo "${LOGPREFIX} bitbake ${CI_PARAM_IMAGE} -c ${BITBAKE_TASK}"
  - bitbake "${CI_PARAM_IMAGE}" -c "${BITBAKE_TASK}"
  - echo -e "section_end:`date +%s`:bitbake_run\r\e[0K"

.save_build_env: &save_build_env
  - echo "BUILD_MACHINE=$CI_PARAM_MACHINE" > build.env
  - echo "BUILD_IMAGE=$CI_PARAM_IMAGE" >> build.env
  - echo "BUILD_DISTRO=$CI_PARAM_DISTRO" >> build.env
  - echo "BUILD_PATH_IMAGE=${BUILDPATH}/${IMAGEPATH}" >> build.env
  - echo "BUILD_PATH_SDK=${BUILDPATH}/${SDKPATH}" >> build.env
  - echo "BUILD_PATH_LICENSE=${BUILDPATH}/${LICENSESPATH}" >> build.env
  - echo "FNG_INSTALL_URL=${JOB_URL}${FNG_INSTALL_PATH}" >> build.env

# --------------------------------------------------------------------------------------
# Stage: Infrastructure
# --------------------------------------------------------------------------------------
@@ -137,6 +205,31 @@ workflow:
    - key: ${CI_JOB_NAME}-${BUILD_ARTIFACTS}
      paths: *artifacts_paths

.build_yocto:
  extends:
    - .buildbase
  needs: []
  variables:
    GIT_STRATEGY: none
    SETUPSCRIPT: "setup-environment"
    LOGPREFIX: "CI:build:"
    BUILDPATH: "build-${CI_PARAM_DISTRO}-${CI_PARAM_MACHINE}"
    IMAGEBASEPATH: "tmp/deploy/images/"
    IMAGEPATH: "${IMAGEBASEPATH}/${CI_PARAM_MACHINE}"
    LICENSESPATH: "tmp/deploy/licenses"
    SDKPATH: "tmp/deploy/sdk/"
    JOB_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/${CI_JOB_ID}/artifacts/"
    FNG_INSTALL_PATH: "${BUILDPATH}/${IMAGEPATH}/${INSTALLSCRIPT}"
  before_script:
    - *docker_check
    - *setup_ssh
    - *repo_checkout
  script:
    - *save_build_env
    - *build_script
    - *collect_srcrevs
    - *dump_install_command

# --------------------------------------------------------------------------------------
# Stage: test
# --------------------------------------------------------------------------------------

build-yocto.yml

deleted100644 → 0
+0 −97
Original line number Diff line number Diff line
---

# --------------------------------------------------------------------------------------
# Stage: Build
# --------------------------------------------------------------------------------------
.collect_srcrevs: &collect_srcrevs
  # write all package AUTOREVS to file
  - |-
    SRCREVS_FILE="${CI_PROJECT_DIR}/${BUILDPATH}/${IMAGEPATH}/BUILD_SRCREVS.log"
    if [ -d "$( dirname "${SRCREVS_FILE}" )" ];then
        buildhistory-collect-srcrevs > ${SRCREVS_FILE}
        echo "${LOGPREFIX} buildhistory-collect-srcrevs:"
        cat ${SRCREVS_FILE}
    fi

.dump_install_command: &dump_install_command
  # print install instructions
  - |-
    if [[ ! -z "${INSTALLSCRIPT}" ]]; then
      SCRIPT="${CI_PROJECT_DIR}/${BUILDPATH}/${IMAGEPATH}/${INSTALLSCRIPT}"
      if [ ! -f "${SCRIPT}" ]; then
          echo "Install script missing, searched for '$SCRIPT'"
          exit 1
      fi

      if [ "$CI_PROJECT_VISIBILITY" = "public" ];then
      cat <<-EOF
      ==============================
          Install the image:

      FNG="$FNG_INSTALL_URL"
      curl --location "\$FNG" | sh -s -- --url="\$(dirname "\$FNG")"
      ==============================
    EOF
      else
      cat <<-EOF
      ==============================
          Install the image:

      export GITLAB_TOKEN=<your_access_token>
      FNG="$FNG_INSTALL_URL"
      curl --location --header "PRIVATE-TOKEN: \$GITLAB_TOKEN" "\$FNG" \
                                | sh -s -- --url="\$(dirname "\$FNG")"
      ==============================
    EOF
      fi
    fi

.build_script: &build_script
  # setup build environment
  - echo "${LOGPREFIX} Build configuration MACHINE=${CI_PARAM_MACHINE}
      DISTRO=${CI_PARAM_DISTRO} IMAGE=${CI_PARAM_IMAGE}"
  - source build.env
  - echo "${LOGPREFIX} Using build dir ${BUILDPATH}"
  - export MACHINE="${CI_PARAM_MACHINE}"
  - export DISTRO="${CI_PARAM_DISTRO}"
  - export EULA="1"
  - source ./"${SETUPSCRIPT}" "${BUILDPATH}"
  # start build
  - echo -e "section_start:`date +%s`:bitbake_run\r\e[0KBitbake Log"
  - echo "${LOGPREFIX} bitbake ${CI_PARAM_IMAGE} -c ${BITBAKE_TASK}"
  - bitbake "${CI_PARAM_IMAGE}" -c "${BITBAKE_TASK}"
  - echo -e "section_end:`date +%s`:bitbake_run\r\e[0K"

.save_build_env: &save_build_env
  - echo "BUILD_MACHINE=$CI_PARAM_MACHINE" > build.env
  - echo "BUILD_IMAGE=$CI_PARAM_IMAGE" >> build.env
  - echo "BUILD_DISTRO=$CI_PARAM_DISTRO" >> build.env
  - echo "BUILD_PATH_IMAGE=${BUILDPATH}/${IMAGEPATH}" >> build.env
  - echo "BUILD_PATH_SDK=${BUILDPATH}/${SDKPATH}" >> build.env
  - echo "BUILD_PATH_LICENSE=${BUILDPATH}/${LICENSESPATH}" >> build.env
  - echo "FNG_INSTALL_URL=${JOB_URL}${FNG_INSTALL_PATH}" >> build.env

.build_yocto:
  extends:
    - .buildbase
  needs: []
  variables:
    GIT_STRATEGY: none
    SETUPSCRIPT: "setup-environment"
    LOGPREFIX: "CI:build:"
    BUILDPATH: "build-${CI_PARAM_DISTRO}-${CI_PARAM_MACHINE}"
    IMAGEBASEPATH: "tmp/deploy/images/"
    IMAGEPATH: "${IMAGEBASEPATH}/${CI_PARAM_MACHINE}"
    LICENSESPATH: "tmp/deploy/licenses"
    SDKPATH: "tmp/deploy/sdk/"
    JOB_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/${CI_JOB_ID}/artifacts/"
    FNG_INSTALL_PATH: "${BUILDPATH}/${IMAGEPATH}/${INSTALLSCRIPT}"
  before_script:
    - !reference [.docker_check]
    - !reference [.setup_ssh]
    - !reference [.repo_checkout]
  script:
    - *save_build_env
    - *build_script
    - *collect_srcrevs
    - *dump_install_command