Skip to content
Snippets Groups Projects
Commit 5762a54c authored by Tim Jaacks's avatar Tim Jaacks
Browse files

Yocto build: unify image and SDK package jobs

Image and SDK package jobs call the same package script just with
different arguments. Instead of having two job classes `package_release`
and `package_sdk` for these two tasks, merge them into the base class
`package` and make the differences configurable via a variable
`PACKAGE_TYPE`.
parent 8e72eac2
No related branches found
No related tags found
1 merge request!278Yocto build: unify image and SDK package jobs
Pipeline #71368 passed with warnings with stage
in 2 minutes and 24 seconds
...@@ -179,6 +179,9 @@ workflow: ...@@ -179,6 +179,9 @@ workflow:
# Using misc runner because it runs on the same machine as the build runner. This # Using misc runner because it runs on the same machine as the build runner. This
# is the only way of being able to use the cache between build and package jobs. # is the only way of being able to use the cache between build and package jobs.
- misc - misc
rules:
- if: $PACKAGE_TYPE == "image"
- if: $PACKAGE_TYPE == "sdk"
artifacts: artifacts:
paths: paths:
- release/**/**/* - release/**/**/*
...@@ -188,47 +191,30 @@ workflow: ...@@ -188,47 +191,30 @@ workflow:
before_script: before_script:
# We do this manually since we do not use GitLab's default artifact downloader # We do this manually since we do not use GitLab's default artifact downloader
- source build.env - source build.env
.pull_build_cache: &pull_build_cache
key: ${CI_PIPELINE_ID}-${ASSOCIATED_BUILD_JOB}
policy: pull
.push_package_cache: &push_package_cache
key: ${CI_PIPELINE_ID}-${CI_JOB_NAME}
policy: push
paths:
- release
- package.env
.package_release:
extends:
- .package
script: script:
# BUILD_PATH_* variables are available via build.env from build job # BUILD_PATH_* variables are available via build.env from build job
- if [[ "${PACKAGE_TYPE}" == "image" ]]; then
- .gitlab-ci/scripts/package_release.py - .gitlab-ci/scripts/package_release.py
--images-dir="${BUILD_PATH_IMAGE}" --images-dir="${BUILD_PATH_IMAGE}"
--licenses-dir="${BUILD_PATH_LICENSE}" --licenses-dir="${BUILD_PATH_LICENSE}"
--doc-dir=. --doc-dir=.
--output-dir=release --output-dir=release
--release-suffix="${RELEASE_SUFFIX}" --release-suffix="${RELEASE_SUFFIX}"
cache: - elif [[ "${PACKAGE_TYPE}" == "sdk" ]]; then
- <<: *pull_build_cache
paths: *artifacts_paths
- *push_package_cache
.package_sdk:
extends:
- .package
script:
# BUILD_PATH_* variables are available via build.env from build job
- .gitlab-ci/scripts/package_release.py - .gitlab-ci/scripts/package_release.py
--sdk-dir="${BUILD_PATH_SDK}" --sdk-dir="${BUILD_PATH_SDK}"
--output-dir=release --output-dir=release
--release-suffix="${RELEASE_SUFFIX}" --release-suffix="${RELEASE_SUFFIX}"
- fi
cache: cache:
- <<: *pull_build_cache - key: ${CI_PIPELINE_ID}-${ASSOCIATED_BUILD_JOB}
policy: pull
paths: *artifacts_paths paths: *artifacts_paths
- *push_package_cache - key: ${CI_PIPELINE_ID}-${CI_JOB_NAME}
policy: push
paths:
- release
- package.env
# -------------------------------------------------------------------------------------- # --------------------------------------------------------------------------------------
# Stage: deploy # Stage: deploy
......
...@@ -185,16 +185,18 @@ smoketest:seco-mx6: ...@@ -185,16 +185,18 @@ smoketest:seco-mx6:
# Stage: Package # Stage: Package
# -------------------------------------------------------------------------------------- # --------------------------------------------------------------------------------------
package-seco-mx6: package-seco-mx6:
extends: .package_release extends: .package
variables: variables:
PACKAGE_TYPE: image
ASSOCIATED_BUILD_JOB: simulate-build-seco-mx6 ASSOCIATED_BUILD_JOB: simulate-build-seco-mx6
needs: needs:
- job: simulate-build-seco-mx6 - job: simulate-build-seco-mx6
artifacts: false artifacts: false
package-sdk-seco-mx6: package-sdk-seco-mx6:
extends: .package_sdk extends: .package
variables: variables:
PACKAGE_TYPE: sdk
ASSOCIATED_BUILD_JOB: simulate-buildsdk-seco-mx6 ASSOCIATED_BUILD_JOB: simulate-buildsdk-seco-mx6
needs: needs:
- job: simulate-buildsdk-seco-mx6 - job: simulate-buildsdk-seco-mx6
......
...@@ -143,8 +143,9 @@ platformtest:{{ machine }}: ...@@ -143,8 +143,9 @@ platformtest:{{ machine }}:
# -------------------------------------------------------------------------------------- # --------------------------------------------------------------------------------------
{% if CI_PARAM_IMAGE %} {% if CI_PARAM_IMAGE %}
package-{{ machine }}: package-{{ machine }}:
extends: .package_release extends: .package
variables: variables:
PACKAGE_TYPE: image
ASSOCIATED_BUILD_JOB: build-{{ machine }} ASSOCIATED_BUILD_JOB: build-{{ machine }}
needs: needs:
- job: build-{{ machine }} - job: build-{{ machine }}
...@@ -152,8 +153,9 @@ package-{{ machine }}: ...@@ -152,8 +153,9 @@ package-{{ machine }}:
- job: changelog - job: changelog
packagesdk-{{ machine }}: packagesdk-{{ machine }}:
extends: .package_sdk extends: .package
variables: variables:
PACKAGE_TYPE: sdk
ASSOCIATED_BUILD_JOB: buildsdk-{{ machine }} ASSOCIATED_BUILD_JOB: buildsdk-{{ machine }}
needs: needs:
- job: buildsdk-{{ machine }} - job: buildsdk-{{ machine }}
...@@ -162,8 +164,9 @@ packagesdk-{{ machine }}: ...@@ -162,8 +164,9 @@ packagesdk-{{ machine }}:
{% if CI_PARAM_IMAGE_FNG %} {% if CI_PARAM_IMAGE_FNG %}
package-{{ machine }}-fngsystem: package-{{ machine }}-fngsystem:
extends: .package_release extends: .package
variables: variables:
PACKAGE_TYPE: image
ASSOCIATED_BUILD_JOB: build-{{ machine }}-fngsystem ASSOCIATED_BUILD_JOB: build-{{ machine }}-fngsystem
needs: needs:
- job: build-{{ machine }}-fngsystem - job: build-{{ machine }}-fngsystem
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment