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

Target

Select target project
  • eclipse/oniro-core/oniro
  • landgraf/oniro
  • zyga/oniro
  • mrybczyn/oniro
  • agherzan/oniro
  • pcoval/oniro
  • tony3oo3/oniro
  • stefanschmidt/oniro
  • waykovalenko/oniro
  • bero/oniro
  • esben/oniro
  • robertd/oniro
  • pidge/oniro
  • shettygururaj/oniro
  • thierrye/oniro
  • sradakovi/oniro
  • dricci783/oniro
  • ektor5/oniro
  • fldn/oniro
  • lucafavaretto/oniro
  • lucazizolfi/oniro
  • artemkondratiuk/oniro
  • lucaseri/oniro
  • gwozdzcfs/oniro
  • kristis/oniro
  • brgl/oniro
  • heurtemattes/oniro
  • idlethread/oniro
  • lquach/oniro
  • ghassaneben/oniro
  • heurtemattes/oniro-bitbake
  • kzarka/oniro
  • heurtemattes/oniro-migration
  • pastanki/oniro
  • malowe/oniro
  • chaseqi/oniro
  • mrfrank/oniro
37 results
Show changes
Commits on Source (64)
Showing
with 403 additions and 97 deletions
...@@ -250,16 +250,28 @@ lava-seco-intel-b68: ...@@ -250,16 +250,28 @@ lava-seco-intel-b68:
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-intel-b68.yaml" CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-intel-b68.yaml"
CI_REPORT_JOB_NAME: lava-report CI_REPORT_JOB_NAME: lava-report
lava-seco-c61: lava-seco-c61-4gb:
needs: [linux-seco-imx8mm-c61-4gb-gcc] needs: [linux-seco-imx8mm-c61-4gb-gcc]
stage: test stage: test
extends: .lava-test-scheduled extends: .lava-test-scheduled
variables: variables:
MACHINE: seco-imx8mm-c61-4gb MACHINE: seco-imx8mm-c61-4gb
BOARD_RAM_SIZE: 4gb
CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-4gb-gcc CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-4gb-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61.yaml" CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61.yaml"
CI_REPORT_JOB_NAME: lava-report CI_REPORT_JOB_NAME: lava-report
lava-seco-c61-2gb:
needs: [linux-seco-imx8mm-c61-2gb-gcc]
stage: test
extends: .lava-test-scheduled
variables:
MACHINE: seco-imx8mm-c61-2gb
BOARD_RAM_SIZE: 2gb
CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-2gb-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61.yaml"
CI_REPORT_JOB_NAME: lava-report
lava-qemu-x86-ltp: lava-qemu-x86-ltp:
needs: [linux-qemu-x86-gcc] needs: [linux-qemu-x86-gcc]
stage: test stage: test
...@@ -300,16 +312,28 @@ lava-seco-intel-b68-ltp: ...@@ -300,16 +312,28 @@ lava-seco-intel-b68-ltp:
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-intel-b68-ltp.yaml" CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-intel-b68-ltp.yaml"
CI_REPORT_JOB_NAME: lava-report CI_REPORT_JOB_NAME: lava-report
lava-seco-c61-ltp: lava-seco-c61-4gb-ltp:
needs: [linux-seco-imx8mm-c61-4gb-gcc] needs: [linux-seco-imx8mm-c61-4gb-gcc]
stage: test stage: test
extends: .lava-test-scheduled extends: .lava-test-scheduled
variables: variables:
MACHINE: seco-imx8mm-c61-4gb MACHINE: seco-imx8mm-c61-4gb
BOARD_RAM_SIZE: 4gb
CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-4gb-gcc CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-4gb-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61-ltp.yaml" CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61-ltp.yaml"
CI_REPORT_JOB_NAME: lava-report CI_REPORT_JOB_NAME: lava-report
lava-seco-c61-2gb-ltp:
needs: [linux-seco-imx8mm-c61-2gb-gcc]
stage: test
extends: .lava-test-scheduled
variables:
MACHINE: seco-imx8mm-c61-2gb
BOARD_RAM_SIZE: 2gb
CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-2gb-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61-ltp.yaml"
CI_REPORT_JOB_NAME: lava-report
lava-qemu-x86_64-kselftest: lava-qemu-x86_64-kselftest:
needs: [linux-qemu-x86_64-gcc] needs: [linux-qemu-x86_64-gcc]
stage: test stage: test
...@@ -330,16 +354,28 @@ lava-raspberrypi4-64-kselftest: ...@@ -330,16 +354,28 @@ lava-raspberrypi4-64-kselftest:
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/raspberrypi4-64-kselftest.yaml" CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/raspberrypi4-64-kselftest.yaml"
CI_REPORT_JOB_NAME: lava-report CI_REPORT_JOB_NAME: lava-report
lava-seco-c61-kselftest: lava-seco-c61-4gb-kselftest:
needs: [linux-seco-imx8mm-c61-4gb-gcc] needs: [linux-seco-imx8mm-c61-4gb-gcc]
stage: test stage: test
extends: .lava-test-scheduled extends: .lava-test-scheduled
variables: variables:
MACHINE: seco-imx8mm-c61-4gb MACHINE: seco-imx8mm-c61-4gb
BOARD_RAM_SIZE: 4gb
CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-4gb-gcc CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-4gb-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61-kselftest.yaml" CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61-kselftest.yaml"
CI_REPORT_JOB_NAME: lava-report CI_REPORT_JOB_NAME: lava-report
lava-seco-c61-2gb-kselftest:
needs: [linux-seco-imx8mm-c61-2gb-gcc]
stage: test
extends: .lava-test-scheduled
variables:
MACHINE: seco-imx8mm-c61-2gb
BOARD_RAM_SIZE: 2gb
CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-2gb-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61-kselftest.yaml"
CI_REPORT_JOB_NAME: lava-report
lava-zephyr-96b-nitrogen-twister: lava-zephyr-96b-nitrogen-twister:
needs: [zephyr-96b-nitrogen-twister-gcc] needs: [zephyr-96b-nitrogen-twister-gcc]
stage: test stage: test
...@@ -390,16 +426,28 @@ lava-seco-intel-b68-perf: ...@@ -390,16 +426,28 @@ lava-seco-intel-b68-perf:
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-intel-b68-perf.yaml" CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-intel-b68-perf.yaml"
CI_REPORT_JOB_NAME: lava-report CI_REPORT_JOB_NAME: lava-report
lava-seco-c61-perf: lava-seco-c61-4gb-perf:
needs: [linux-seco-imx8mm-c61-4gb-gcc] needs: [linux-seco-imx8mm-c61-4gb-gcc]
stage: test stage: test
extends: .lava-test-scheduled extends: .lava-test-scheduled
variables: variables:
MACHINE: seco-imx8mm-c61-4gb MACHINE: seco-imx8mm-c61-4gb
BOARD_RAM_SIZE: 4gb
CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-4gb-gcc CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-4gb-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61-perf.yaml" CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61-perf.yaml"
CI_REPORT_JOB_NAME: lava-report CI_REPORT_JOB_NAME: lava-report
lava-seco-c61-2gb-perf:
needs: [linux-seco-imx8mm-c61-2gb-gcc]
stage: test
extends: .lava-test-scheduled
variables:
MACHINE: seco-imx8mm-c61-2gb
BOARD_RAM_SIZE: 2gb
CI_BUILD_JOB_NAME: linux-seco-imx8mm-c61-2gb-gcc
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/seco-c61-perf.yaml"
CI_REPORT_JOB_NAME: lava-report
lava-zephyr-qemu-cortex-m3: lava-zephyr-qemu-cortex-m3:
needs: [zephyr-qemu-cortex-m3-gcc] needs: [zephyr-qemu-cortex-m3-gcc]
stage: test stage: test
...@@ -420,6 +468,26 @@ lava-zephyr-qemu-x86: ...@@ -420,6 +468,26 @@ lava-zephyr-qemu-x86:
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/qemu-zephyr-x86.yaml" CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/qemu-zephyr-x86.yaml"
CI_REPORT_JOB_NAME: lava-report CI_REPORT_JOB_NAME: lava-report
lava-qemu-x86-sysota:
needs: [bundle-qemu-x86]
stage: test
extends: .lava-test
variables:
MACHINE: qemux86
CI_BUILD_JOB_NAME: linux-qemu-x86
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/qemu-x86-sysota.yaml"
CI_REPORT_JOB_NAME: lava-report
lava-qemu-x86_64-sysota:
needs: [bundle-qemu-x86_64]
stage: test
extends: .lava-test
variables:
MACHINE: qemux86-64
CI_BUILD_JOB_NAME: linux-qemu-x86_64
CI_LAVA_JOB_DEFINITION: "https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-config/-/raw/master/lava.ostc-eu.org/job-definitions/ci/qemu-x86_64-sysota.yaml"
CI_REPORT_JOB_NAME: lava-report
lava-report: lava-report:
extends: .lava-report extends: .lava-report
needs: needs:
...@@ -529,3 +597,101 @@ build-npm-cspell: ...@@ -529,3 +597,101 @@ build-npm-cspell:
extends: .build-with-kaniko extends: .build-with-kaniko
variables: variables:
CONTAINER_PATH: npm-cspell CONTAINER_PATH: npm-cspell
.oe-selftest-rules:
rules:
- if: $CI_PIPELINE_SOURCE == "schedule" && $OE_SELFTEST == "gcc"
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TITLE =~ /^(wip|draft):.*/i'
when: manual
variables:
CI_ONIRO_MANIFEST_URL: "$CI_MERGE_REQUEST_SOURCE_PROJECT_URL"
CI_ONIRO_MANIFEST_BRANCH: "$CI_COMMIT_REF_NAME"
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes:
- manifests/*.xml
oe-selftest-gcc-qemu-linux-user:
extends: [.oe-selftest, .oe-selftest-rules]
variables:
# Set the variable to 'gcc' will run all tests defined in the gcc.py file.
# https://github.com/openembedded/openembedded-core/blob/master/meta/lib/oeqa/selftest/cases/gcc.py#L79
CI_ONIRO_OE_SELFTESTS:
gcc.GccCrossSelfTest
gcc.GccLibAtomicSelfTest
gcc.GccLibGompSelfTest
gcc.GccLibItmSelfTest
gcc.GccLibSspSelfTest
gcc.GccLibStdCxxSelfTest
gcc.GxxCrossSelfTest
.oe-selftest-gcc-system-emulated:
timeout: 8h
extends: [.oe-selftest, .oe-selftest-rules]
variables:
MACHINE: qemux86-64
CI_ONIRO_OE_SELFTESTS:
gcc.GccCrossSelfTestSystemEmulated
gcc.GccLibAtomicSelfTestSystemEmulated
gcc.GccLibGompSelfTestSystemEmulated
gcc.GccLibItmSelfTestSystemEmulated
gcc.GccLibStdCxxSelfTestSystemEmulated
gcc.GccLibSspSelfTestSystemEmulated
gcc.GxxCrossSelfTestSystemEmulated
oe-selftest-gcc-system-emulated-qemux86-64:
extends: .oe-selftest-gcc-system-emulated
variables:
MACHINE: qemux86-64
oe-selftest-gcc-system-emulated-qemuarm64:
extends: .oe-selftest-gcc-system-emulated
variables:
MACHINE: qemuarm64
oe-selftest-report:
timeout: 6h
extends: .oe-selftest-rules
image:
name: registry.ostc-eu.org/ostc/oniro/bitbake-builder:latest
stage: report
dependencies:
- oe-selftest-gcc-qemu-linux-user
- oe-selftest-gcc-system-emulated-qemux86-64
- oe-selftest-gcc-system-emulated-qemuarm64
needs:
- oe-selftest-gcc-qemu-linux-user
- oe-selftest-gcc-system-emulated-qemux86-64
- oe-selftest-gcc-system-emulated-qemuarm64
script:
- |
set -x
curl https://git.ostc-eu.org/OSTC/infrastructure/lava/lava-test-definitions/-/raw/gcc-test/automated/utils/gcc-result-parser.py \
> gcc-result-parser.py
for job_path in $(find artifacts/ -type d -name oe-selftest-gcc*); do
(
job=$(basename $job_path)
test_env="$(echo $job | cut -d'-' -f4-)"
cd $job_path
xz -d *.xz
# Parse sum file.
for sum_file in $(ls *.sum); do
python3 $CI_PROJECT_DIR/gcc-result-parser.py $sum_file
done
# Upload result to squad.
gcc_version="$(cat gcc_version)"
for result_file in $(ls result_*.json); do
component="$(basename $result_file .json | cut -d'_' -f2-)"
job_id="$job-$component"
time curl \
--header "Auth-Token: $CI_SQUAD_TOKEN" \
https://squadp.svc.ostc-eu.dev/api/submit/oniro-core/gcc-test/$CI_PIPELINE_ID/$test_env \
--form tests=@$result_file \
--form "metadata={\"job_id\": \"$job_id\", \"gcc_version\": \"$gcc_version\"}"
done
)
done
set +x
artifacts:
paths:
- artifacts/oe-selftest-gcc*/*.json
- artifacts/oe-selftest-gcc*/*.txt
...@@ -35,8 +35,8 @@ ...@@ -35,8 +35,8 @@
echo "CI_ONIRO_MANIFEST_URL: $CI_ONIRO_MANIFEST_URL" echo "CI_ONIRO_MANIFEST_URL: $CI_ONIRO_MANIFEST_URL"
echo "CI_ONIRO_MANIFEST_NAME: $CI_ONIRO_MANIFEST_NAME" echo "CI_ONIRO_MANIFEST_NAME: $CI_ONIRO_MANIFEST_NAME"
echo "CI_ONIRO_MANIFEST_BRANCH: $CI_ONIRO_MANIFEST_BRANCH" echo "CI_ONIRO_MANIFEST_BRANCH: $CI_ONIRO_MANIFEST_BRANCH"
repo init --reference \ repo init \
"$CI_ONIRO_RUNNER_PERSISTENT_STORAGE"/pub/git-repo-mirrors/"$CI_ONIRO_MANIFEST_MIRROR" \ $(test -n "${CI_ONIRO_RUNNER_PERSISTENT_STORAGE:-}" && echo --reference "$CI_ONIRO_RUNNER_PERSISTENT_STORAGE"/pub/git-repo-mirrors/"$CI_ONIRO_MANIFEST_MIRROR") \
--manifest-url "$CI_ONIRO_MANIFEST_URL" \ --manifest-url "$CI_ONIRO_MANIFEST_URL" \
--manifest-name "$CI_ONIRO_MANIFEST_NAME" \ --manifest-name "$CI_ONIRO_MANIFEST_NAME" \
--manifest-branch "$CI_ONIRO_MANIFEST_BRANCH" --manifest-branch "$CI_ONIRO_MANIFEST_BRANCH"
...@@ -162,8 +162,17 @@ ...@@ -162,8 +162,17 @@
| sed -e 's/^CI_ONIRO_BB_LOCAL_CONF_plus_equals_//g' -e 's/"/\\"/g' -e 's/=/ += "/g' -e 's/$/"/g' \ | sed -e 's/^CI_ONIRO_BB_LOCAL_CONF_plus_equals_//g' -e 's/"/\\"/g' -e 's/=/ += "/g' -e 's/$/"/g' \
| sort \ | sort \
| tee -a conf/local.conf ) | tee -a conf/local.conf )
# Print local conf for debugging. # Variables in the form of '^CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_attr' are
- grep -E '^[^#]' conf/local.conf # converted to 'attr += "value"' and appended to bblayers.conf
# this is useful if layer has to be added but bitbake add-layer command cannot be used
# (for example this layer's class is inherited via local.conf already)
- |
( set +o pipefail;
env \
| grep -E '^CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_[A-Z_0-9]+=' \
| sed -e 's/^CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_//g' -e 's/"/\\"/g' -e 's/=/ += "/g' -e 's/$/"/g' \
| sort \
| tee -a conf/bblayers.conf )
# Sanity check: disallow using public build cache with a specific setting # Sanity check: disallow using public build cache with a specific setting
# in local.conf. The list of settings may grow over time. # in local.conf. The list of settings may grow over time.
...@@ -206,6 +215,7 @@ ...@@ -206,6 +215,7 @@
# Linux builds can be extremely large. Use rm_work to remove the temporary # Linux builds can be extremely large. Use rm_work to remove the temporary
# build data as soon as possible to reclaim space. # build data as soon as possible to reclaim space.
CI_ONIRO_BB_LOCAL_CONF_plus_equals_INHERIT: "rm_work" CI_ONIRO_BB_LOCAL_CONF_plus_equals_INHERIT: "rm_work"
CI_ONIRO_BB_LOCAL_CONF_plus_equals_INHERIT: create-spdx
script: script:
- test -n "$CI_ONIRO_BITBAKE_TARGETS" || ( - test -n "$CI_ONIRO_BITBAKE_TARGETS" || (
echo "nothing to build - CI_ONIRO_BITBAKE_TARGETS is empty" echo "nothing to build - CI_ONIRO_BITBAKE_TARGETS is empty"
...@@ -224,23 +234,6 @@ ...@@ -224,23 +234,6 @@
matrix: matrix:
- CI_ONIRO_BITBAKE_TARGETS: ["oniro-image-base-tests", "oniro-image-extra-tests"] - CI_ONIRO_BITBAKE_TARGETS: ["oniro-image-base-tests", "oniro-image-extra-tests"]
# This job is documented in docs/ci/hidden-jobs/build-zephyr.rst
.build-zephyr:
extends: .bitbake-workspace
variables:
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_BITBAKE_TARGETS: "zephyr-philosophers"
CI_ONIRO_INSTANCE_SIZE: s3.large.2
script:
- test -n "$CI_ONIRO_BITBAKE_TARGETS" || (
echo "nothing to build - CI_ONIRO_BITBAKE_TARGETS is empty"
&& exit 1 )
- !reference [.bitbake-workspace, script]
- |
for target in $CI_ONIRO_BITBAKE_TARGETS; do
time bitbake "$target"
done
# This job is documented in docs/ci/hidden-jobs/build-freertos.rst # This job is documented in docs/ci/hidden-jobs/build-freertos.rst
.build-freertos: .build-freertos:
extends: .bitbake-workspace extends: .bitbake-workspace
...@@ -272,27 +265,33 @@ ...@@ -272,27 +265,33 @@
# subdirectories. # subdirectories.
- mkdir -p "$CI_PROJECT_DIR"/artifacts - mkdir -p "$CI_PROJECT_DIR"/artifacts
- rm -rf "$CI_PROJECT_DIR"/artifacts/* - rm -rf "$CI_PROJECT_DIR"/artifacts/*
# The name of the build-specific tmp directory may vary. Ask bitbake # The name of the build-specific deploy dir may vary. Ask bitbake instead
# instead of hard-coding it. This is currently only relevant for Zephyr, # of hard-coding it.
# which uses tmp-newlib. - eval "$(bitbake -e | grep ^DEPLOY_DIR= | sed -e 's/^DEPLOY_DIR/BITBAKE_DEPLOY_DIR/g')"
- eval "$(bitbake -e | grep ^TMPDIR= | sed -e 's/^TMPDIR/BITBAKE_TMPDIR/g')" # Top level of bitbake working directory.
# The name is build specific ask bitbake instead of hard-coding.
- eval "$(bitbake -e | grep ^TOPDIR= | sed -e 's/^TOPDIR/BITBAKE_TOPDIR/g')"
# Uncompressed wic image is not needed in CI. We cannot remove it from # Uncompressed wic image is not needed in CI. We cannot remove it from
# meta-oniro-core/classes/oniro-image.bbclass as runqemu needs it for local # meta-oniro-core/classes/oniro-image.bbclass as runqemu needs it for local
# build and boot. # build and boot.
- find "$BITBAKE_TMPDIR"/deploy/images/ -name *.wic -exec rm -rf {} \; - find "$BITBAKE_DEPLOY_DIR"/images/ -name *.wic -exec rm -rf {} \;
- cp -a "$BITBAKE_TMPDIR"/deploy/licenses/ "$CI_PROJECT_DIR"/artifacts || true - cp -a "$BITBAKE_DEPLOY_DIR"/licenses/ "$CI_PROJECT_DIR"/artifacts || true
# Only copy the files defined in the CI_ONIRO_JOB_ARTIFACTS variable. Most # Only copy the files defined in the CI_ONIRO_JOB_ARTIFACTS variable. Most
# of the remaining files are redundant and quite large. # of the remaining files are redundant and quite large.
- | - |
set -x set -x
if test -n "$CI_ONIRO_JOB_ARTIFACTS" && test -d "$BITBAKE_TMPDIR"/deploy/; then if test -n "$CI_ONIRO_JOB_ARTIFACTS" && test -d "$BITBAKE_DEPLOY_DIR"; then
( (
cd "$BITBAKE_TMPDIR"/deploy/ cd "$BITBAKE_DEPLOY_DIR"
for artifact in $CI_ONIRO_JOB_ARTIFACTS; do for artifact in $CI_ONIRO_JOB_ARTIFACTS; do
find ./ \( -type f -o -type l \) -name "$artifact" -exec cp --verbose --archive --parents {} "$CI_PROJECT_DIR"/artifacts \; find ./ \( -type f -o -type l \) -name "$artifact" -exec cp --verbose --archive --parents {} "$CI_PROJECT_DIR"/artifacts \;
done done
) )
fi fi
# Compress and copy artifacts of do_abicheck task (if any)
if test -n "$CI_ONIRO_ABICHECK_TOPDIR" && test -d "$BITBAKE_TOPDIR"/"$CI_ONIRO_ABICHECK_TOPDIR"; then
tar -cJf "$CI_PROJECT_DIR"/artifacts/abicheck-"$CI_COMMIT_SHA"-"$CI_JOB_NAME".tar.xz "$BITBAKE_TOPDIR"/"$CI_ONIRO_ABICHECK_TOPDIR"/*/*/binaryaudit
fi
set +x set +x
artifacts: artifacts:
paths: paths:
...@@ -301,11 +300,7 @@ ...@@ -301,11 +300,7 @@
.build-wic-image: .build-wic-image:
extends: .build-image extends: .build-image
variables: variables:
# cve-check is enabled in the .bitbake-workspace job. Append CI_ONIRO_BB_LOCAL_CONF_plus_equals_INHERIT: create-spdx
# oniro-debug-linux for all wic image build jobs to enable root login which
# is required in LAVA test jobs. The variable can be overwritten in build
# job level for builds that require non-root user.
CI_ONIRO_BB_LOCAL_CONF_plus_equals_INHERIT: "cve-check oniro-debug-linux"
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap" CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap"
script: script:
- !reference [.build-image, script] - !reference [.build-image, script]
...@@ -405,15 +400,30 @@ ...@@ -405,15 +400,30 @@
.build-zephyr-image: .build-zephyr-image:
extends: .build-image extends: .build-image
variables: variables:
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_INSTANCE_SIZE: s3.large.2
CI_ONIRO_JOB_ARTIFACTS: "*.elf *.bin" CI_ONIRO_JOB_ARTIFACTS: "*.elf *.bin"
script: script:
- !reference [.build-image, script] - !reference [.build-image, script]
- echo 'INHERIT += "create-spdx"' >> conf/local.conf
- echo 'do_create_spdx[nostamp] = "1"' >> conf/local.conf
- echo 'do_create_runtime_spdx[nostamp] = "1"' >> conf/local.conf
- bitbake --runall=do_create_runtime_spdx $CI_ONIRO_RECIPE_NAME
# This job is currently used to customize the behavior in oniro and xts-acts. # This job is currently used to customize the behavior in oniro and xts-acts.
# It will be removed when that is safe to do so. It is not documented. # It will be removed when that is safe to do so. It is not documented.
.build: .build:
extends: .build-recipe extends: .build-recipe
.check-abi:
variables:
CI_ONIRO_BB_LOCAL_CONF_plus_equals_INHERIT: abicheck
CI_ONIRO_BB_LOCAL_CONF_BINARY_AUDIT_WARN_ONLY: "1"
CI_ONIRO_MANIFEST_NAME: manifests/ci.xml
CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_BBLAYERS: "../meta-binaryaudit"
CI_ONIRO_ABICHECK_TOPDIR: "./buildhistory/packages"
# This job is documented in docs/ci/hidden-jobs/build-docs.rst # This job is documented in docs/ci/hidden-jobs/build-docs.rst
.build-docs: .build-docs:
interruptible: true interruptible: true
...@@ -458,3 +468,58 @@ ...@@ -458,3 +468,58 @@
# Run this job in case the pipeline changes. # Run this job in case the pipeline changes.
- .oniro-ci/*.yml - .oniro-ci/*.yml
- .gitlab-ci.yml - .gitlab-ci.yml
# This job is documented in docs/ci/hidden-jobs/oe-selftest.rst
.oe-selftest:
image:
name: registry.ostc-eu.org/ostc/oniro/bitbake-builder:latest
tags: [qemu-friendly, large-disk, $CI_ONIRO_RUNNER_TAG, $CI_ONIRO_INSTANCE_SIZE]
stage: test
dependencies: []
extends: .bitbake-workspace
variables:
MACHINE: qemux86-64
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_BB_LOCAL_CONF_SANITY_TESTED_DISTROS: ""
CI_ONIRO_BB_LOCAL_CONF_TOOLCHAIN: "gcc"
CI_ONIRO_BB_LOCAL_CONF_RUNTIME: "gnu"
CI_ONIRO_OE_SELFTESTS: ""
CI_ONIRO_OE_SEFLTEST_SKIPS: ""
CI_SQUAD_INSTANCE: "https://squadp.svc.ostc-eu.dev"
# The USER variable is required by oe-selftest but missing in env.
USER: "builder"
ARTIFACTS_DIR: "$CI_PROJECT_DIR/artifacts/$CI_JOB_NAME"
script:
- test -n "$CI_ONIRO_OE_SELFTESTS" || (
echo "nothing to test - CI_ONIRO_OE_SELFTESTS is empty"
&& exit 1 )
- !reference [.bitbake-workspace, script]
# Only run tests when gcc version changed.
- gcc_version="$(bitbake -s | grep '^gcc-runtime' | awk -F':' '{print $NF}' | head -1 | awk '{$1=$1;print}')"
- echo "Current GCC version $gcc_version"
- last_build_id="$(curl --silent $CI_SQUAD_INSTANCE/api/projects/5/builds/ | jq -r '.results | .[] | .id' | head -1)"
- last_tested_gcc_version="$(curl --silent $CI_SQUAD_INSTANCE/api/builds/$last_build_id/metadata/ | jq -r '.gcc_version')"
- echo "The last tested GCC version $last_tested_gcc_version"
- |
if [ "$gcc_version" != "$last_tested_gcc_version" ]; then
echo "GCC verion changed, about to test the new version ..."
else
echo "GCC verion not changed, skipping gcc tests ..."
exit 0
fi
# oe-selftest inherits the current 'build/conf/local.conf' to create
# '../build-st/conf/local.conf' for qemu image building. Adding the
# MACHINE variable to the current local conf allows test job to customize
# the qemu image arch for testing.
- echo "MACHINE = \"$MACHINE\"" >> conf/local.conf
- echo "Running specific tests $CI_ONIRO_OE_SELFTESTS ..."
- time oe-selftest -vvv -r $CI_ONIRO_OE_SELFTESTS -K
- rm -rf "$ARTIFACTS_DIR" & mkdir -p "$ARTIFACTS_DIR"
- find ../build-st \( -name "*.sum" -o -name "*.log" \) \( -path "*/gcc-runtime/*testsuite*" \)
-exec cp --verbose {} "$ARTIFACTS_DIR" \;
- for file in $(find "$ARTIFACTS_DIR" -type f); do xz $file; done
- echo "$gcc_version" > $ARTIFACTS_DIR/gcc_version
- rm -rf ../build-st
artifacts:
paths:
- $ARTIFACTS_DIR
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
[user] [user]
name = Oniro Project CI name = Oniro Core Project Bot
email = oniro-dev@eclipse.org email = oniro-core-bot@eclipse.org
...@@ -26,8 +26,8 @@ RUN apt-get update -qq \ ...@@ -26,8 +26,8 @@ RUN apt-get update -qq \
bash git-repo git-lfs apt-utils build-essential chrpath cpio diffstat \ bash git-repo git-lfs apt-utils build-essential chrpath cpio diffstat \
gawk git sudo wget language-pack-en-base time locales python-is-python3 \ gawk git sudo wget language-pack-en-base time locales python-is-python3 \
python3-distutils python3-pip libssl-dev iproute2 iputils-ping curl jq \ python3-distutils python3-pip libssl-dev iproute2 iputils-ping curl jq \
lz4 zstd \ lz4 zstd iptables\
&& eatmydata apt-get install -qq -y 'ca-certificates=20210119~20.04.2' \ && eatmydata apt-get install -qq -y 'ca-certificates=20211016~20.04.1' \
&& eatmydata apt-get clean && rm -rf /var/lib/apt/lists/* && eatmydata apt-get clean && rm -rf /var/lib/apt/lists/*
RUN locale-gen RUN locale-gen
RUN pip3 install anybadge RUN pip3 install anybadge
...@@ -36,7 +36,12 @@ RUN pip3 install anybadge ...@@ -36,7 +36,12 @@ RUN pip3 install anybadge
RUN echo "dash dash/sh boolean false" | debconf-set-selections \ RUN echo "dash dash/sh boolean false" | debconf-set-selections \
&& DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash && DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash
RUN useradd --create-home --uid 1000 --shell /usr/bin/bash builder # runqemu command needs sudo permission to create tun device for the
# communication between host and vm for gcc testing.
RUN useradd --create-home --uid 1000 --shell /usr/bin/bash builder \
&& usermod -aG sudo builder\
&& echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
COPY --chown=builder:builder .gitconfig /home/builder/.gitconfig COPY --chown=builder:builder .gitconfig /home/builder/.gitconfig
USER builder USER builder
WORKDIR /home/builder WORKDIR /home/builder
# SPDX-FileCopyrightText: 2021 Huawei Inc. # SPDX-FileCopyrightText: 2021 Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
[user] [user]
name = Oniro Project CI name = Oniro Core Project Bot
email = oniro-dev@eclipse.org email = oniro-core-bot@eclipse.org
# SPDX-FileCopyrightText: Huawei Inc. # SPDX-FileCopyrightText: Huawei Inc.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
FROM ubuntu:21.10 FROM ubuntu:20.04
COPY --chown=root:root ppa/zyga-ubuntu-oh-tools-impish.list /etc/apt/sources.list.d/ COPY --chown=root:root ppa/zyga-ubuntu-oh-tools-focal.list /etc/apt/sources.list.d/
COPY --chown=root:root ppa/zyga-ubuntu-oh-tools.gpg /etc/apt/trusted.gpg.d/ COPY --chown=root:root ppa/zyga-ubuntu-oh-tools.gpg /etc/apt/trusted.gpg.d/
ARG DEBIAN_FRONTEND="noninteractive" ARG DEBIAN_FRONTEND="noninteractive"
...@@ -11,7 +11,12 @@ RUN apt-get update -qq \ ...@@ -11,7 +11,12 @@ RUN apt-get update -qq \
&& apt-get install -y eatmydata \ && apt-get install -y eatmydata \
&& eatmydata apt-get install -qq -y \ && eatmydata apt-get install -qq -y \
git-repo git git-lfs \ git-repo git git-lfs \
python3-sphinx python3-sphinx-rtd-theme python3-recommonmark python3-sphinx-tabs \ python3-pip python3-sphinx python3-sphinx-rtd-theme python3-recommonmark \
python3-sphinxcontrib.plantuml \ python3-sphinxcontrib.plantuml \
&& eatmydata apt-get install -qq -y 'ca-certificates=20210119ubuntu1' \ && eatmydata apt-get install -qq -y 'ca-certificates=20211016~20.04.1' \
&& eatmydata apt-get clean && rm -rf /var/lib/apt/lists/* && eatmydata apt-get clean && rm -rf /var/lib/apt/lists/*
# We need to fix the version here to avoid pulling docutils 0.18 which is
# incompatible with the sphinx version from Ubuntu focal. See more here:
# https://github.com/sphinx-doc/sphinx/issues/9841
RUN pip3 install sphinx-tabs==3.4.0
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: 2020 Huawei Inc. # SPDX-FileCopyrightText: 2020 Huawei Inc.
deb http://ppa.launchpad.net/zyga/oh-tools/ubuntu/ impish main deb http://ppa.launchpad.net/zyga/oh-tools/ubuntu/ focal main
# deb-src http://ppa.launchpad.net/zyga/oh-tools/ubuntu/ impish main # deb-src http://ppa.launchpad.net/zyga/oh-tools/ubuntu/ focal main
# SPDX-FileCopyrightText: 2021 Huawei Inc.
# SPDX-License-Identifier: Apache-2.0
[user]
name = Oniro Project CI
email = oniro-dev@eclipse.org
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND="noninteractive"
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update -qq \
&& apt-get install -y software-properties-common \
&& add-apt-repository -y ppa:hardware-certification/public \
&& apt-get install -y checkbox-ng plainbox-provider-resource-generic plainbox-provider-certification-client plainbox-provider-checkbox canonical-certification-client jq
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
allow_failure: true allow_failure: true
.linux-qemu-x86: .linux-qemu-x86:
extends: .build-wic-image extends: [.build-wic-image, .check-abi]
variables: variables:
MACHINE: qemux86 MACHINE: qemux86
CI_ONIRO_BUILD_FLAVOUR: linux CI_ONIRO_BUILD_FLAVOUR: linux
...@@ -51,7 +51,7 @@ linux-qemu-x86-clang: ...@@ -51,7 +51,7 @@ linux-qemu-x86-clang:
extends: [.linux-qemu-x86, .toolchain-clang] extends: [.linux-qemu-x86, .toolchain-clang]
.linux-qemu-x86_64: .linux-qemu-x86_64:
extends: .build-wic-image extends: [.build-wic-image, .check-abi]
variables: variables:
MACHINE: qemux86-64 MACHINE: qemux86-64
CI_ONIRO_BUILD_FLAVOUR: linux CI_ONIRO_BUILD_FLAVOUR: linux
...@@ -88,12 +88,15 @@ linux-seco-intel-b68-extra-clang: ...@@ -88,12 +88,15 @@ linux-seco-intel-b68-extra-clang:
extends: [.linux-seco-intel-b68-extra, .toolchain-clang] extends: [.linux-seco-intel-b68-extra, .toolchain-clang]
.linux-seco-imx8mm-c61-2gb: .linux-seco-imx8mm-c61-2gb:
extends: .build-linux-matrix extends: .build-wic-image
variables: variables:
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
MACHINE: seco-imx8mm-c61-2gb MACHINE: seco-imx8mm-c61-2gb
# This platform requires proprietary resources to boot. # This platform requires proprietary resources to boot.
# See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables. # See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
CI_ONIRO_BB_LOCAL_CONF_ACCEPT_FSL_EULA: 1 CI_ONIRO_BB_LOCAL_CONF_ACCEPT_FSL_EULA: 1
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap flash.bin-seco-imx8mm-c61-2gb*"
linux-seco-imx8mm-c61-2gb-gcc: linux-seco-imx8mm-c61-2gb-gcc:
extends: [.linux-seco-imx8mm-c61-2gb, .toolchain-gcc] extends: [.linux-seco-imx8mm-c61-2gb, .toolchain-gcc]
linux-seco-imx8mm-c61-2gb-clang: linux-seco-imx8mm-c61-2gb-clang:
...@@ -108,7 +111,7 @@ linux-seco-imx8mm-c61-2gb-clang: ...@@ -108,7 +111,7 @@ linux-seco-imx8mm-c61-2gb-clang:
# This platform requires proprietary resources to boot. # This platform requires proprietary resources to boot.
# See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables. # See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
CI_ONIRO_BB_LOCAL_CONF_ACCEPT_FSL_EULA: 1 CI_ONIRO_BB_LOCAL_CONF_ACCEPT_FSL_EULA: 1
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap flash.bin-seco-imx8mm-c61*" CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap flash.bin-seco-imx8mm-c61-4gb*"
linux-seco-imx8mm-c61-4gb-gcc: linux-seco-imx8mm-c61-4gb-gcc:
extends: [.linux-seco-imx8mm-c61-4gb, .toolchain-gcc] extends: [.linux-seco-imx8mm-c61-4gb, .toolchain-gcc]
linux-seco-imx8mm-c61-4gb-clang: linux-seco-imx8mm-c61-4gb-clang:
...@@ -129,7 +132,7 @@ linux-seco-imx8mm-c61-4gb-extra-clang: ...@@ -129,7 +132,7 @@ linux-seco-imx8mm-c61-4gb-extra-clang:
extends: [.linux-seco-imx8mm-c61-4gb-extra, .toolchain-clang, .broken] extends: [.linux-seco-imx8mm-c61-4gb-extra, .toolchain-clang, .broken]
.linux-raspberrypi4-64: .linux-raspberrypi4-64:
extends: .build-wic-image extends: [.build-wic-image, .check-abi]
variables: variables:
MACHINE: raspberrypi4-64 MACHINE: raspberrypi4-64
CI_ONIRO_BUILD_FLAVOUR: linux CI_ONIRO_BUILD_FLAVOUR: linux
...@@ -146,9 +149,6 @@ linux-raspberrypi4-64-clang: ...@@ -146,9 +149,6 @@ linux-raspberrypi4-64-clang:
# See the note on linux-qemu-x86. # See the note on linux-qemu-x86.
CI_ONIRO_BUILD_CACHE: "pub" CI_ONIRO_BUILD_CACHE: "pub"
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1 CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
zephyr-qemu-x86-gcc: zephyr-qemu-x86-gcc:
extends: [.zephyr-qemu-x86, .toolchain-gcc] extends: [.zephyr-qemu-x86, .toolchain-gcc]
zephyr-qemu-x86-clang: zephyr-qemu-x86-clang:
...@@ -161,9 +161,6 @@ zephyr-qemu-x86-clang: ...@@ -161,9 +161,6 @@ zephyr-qemu-x86-clang:
# See the note on linux-qemu-x86. # See the note on linux-qemu-x86.
CI_ONIRO_BUILD_CACHE: "pub" CI_ONIRO_BUILD_CACHE: "pub"
CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1 CI_ONIRO_BB_LOCAL_CONF_BB_GENERATE_MIRROR_TARBALLS: 1
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
zephyr-qemu-cortex-m3-gcc: zephyr-qemu-cortex-m3-gcc:
extends: [.zephyr-qemu-cortex-m3, .toolchain-gcc] extends: [.zephyr-qemu-cortex-m3, .toolchain-gcc]
zephyr-qemu-cortex-m3-clang: zephyr-qemu-cortex-m3-clang:
...@@ -173,9 +170,6 @@ zephyr-qemu-cortex-m3-clang: ...@@ -173,9 +170,6 @@ zephyr-qemu-cortex-m3-clang:
extends: .build-zephyr-image extends: .build-zephyr-image
variables: variables:
MACHINE: 96b-nitrogen MACHINE: 96b-nitrogen
CI_ONIRO_RECIPE_NAME: zephyr-philosophers
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
zephyr-96b-nitrogen-gcc: zephyr-96b-nitrogen-gcc:
extends: [.zephyr-96b-nitrogen, .toolchain-gcc] extends: [.zephyr-96b-nitrogen, .toolchain-gcc]
zephyr-96b-nitrogen-clang: zephyr-96b-nitrogen-clang:
...@@ -186,20 +180,16 @@ zephyr-96b-nitrogen-clang: ...@@ -186,20 +180,16 @@ zephyr-96b-nitrogen-clang:
variables: variables:
MACHINE: 96b-nitrogen MACHINE: 96b-nitrogen
CI_ONIRO_RECIPE_NAME: zephyr-kernel-test-all CI_ONIRO_RECIPE_NAME: zephyr-kernel-test-all
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
zephyr-96b-nitrogen-tests-gcc: zephyr-96b-nitrogen-tests-gcc:
extends: [.zephyr-96b-nitrogen-tests, .toolchain-gcc] extends: [.zephyr-96b-nitrogen-tests, .toolchain-gcc]
zephyr-96b-nitrogen-tests-clang: zephyr-96b-nitrogen-tests-clang:
extends: [.zephyr-96b-nitrogen-tests, .toolchain-clang, .broken] extends: [.zephyr-96b-nitrogen-tests, .toolchain-clang, .broken]
.zephyr-96b-nitrogen-twister: .zephyr-96b-nitrogen-twister:
extends: .build-image extends: .build-zephyr-image
variables: variables:
MACHINE: 96b-nitrogen MACHINE: 96b-nitrogen
CI_ONIRO_RECIPE_NAME: zephyr-kernel-test-twister CI_ONIRO_RECIPE_NAME: zephyr-kernel-test-twister
CI_ONIRO_BUILD_FLAVOUR: zephyr
CI_ONIRO_INSTANCE_SIZE: s3.large.2
CI_ONIRO_JOB_ARTIFACTS: "twister*.tar.bz2" CI_ONIRO_JOB_ARTIFACTS: "twister*.tar.bz2"
zephyr-96b-nitrogen-twister-gcc: zephyr-96b-nitrogen-twister-gcc:
extends: [.zephyr-96b-nitrogen-twister, .toolchain-gcc] extends: [.zephyr-96b-nitrogen-twister, .toolchain-gcc]
...@@ -207,7 +197,7 @@ zephyr-96b-nitrogen-twister-clang: ...@@ -207,7 +197,7 @@ zephyr-96b-nitrogen-twister-clang:
extends: [.zephyr-96b-nitrogen-twister, .toolchain-clang, .broken] extends: [.zephyr-96b-nitrogen-twister, .toolchain-clang, .broken]
.zephyr-96b-avenger: .zephyr-96b-avenger:
extends: .build-zephyr extends: .build-zephyr-image
variables: variables:
MACHINE: 96b-avenger96 MACHINE: 96b-avenger96
zephyr-96b-avenger-gcc: zephyr-96b-avenger-gcc:
...@@ -216,7 +206,7 @@ zephyr-96b-avenger-clang: ...@@ -216,7 +206,7 @@ zephyr-96b-avenger-clang:
extends: [.zephyr-96b-avenger, .toolchain-clang, .broken] extends: [.zephyr-96b-avenger, .toolchain-clang, .broken]
.zephyr-nrf52840dk-nrf52840: .zephyr-nrf52840dk-nrf52840:
extends: .build-zephyr extends: .build-zephyr-image
variables: variables:
MACHINE: nrf52840dk-nrf52840 MACHINE: nrf52840dk-nrf52840
zephyr-nrf52840dk-nrf52840-gcc: zephyr-nrf52840dk-nrf52840-gcc:
...@@ -225,7 +215,7 @@ zephyr-nrf52840dk-nrf52840-clang: ...@@ -225,7 +215,7 @@ zephyr-nrf52840dk-nrf52840-clang:
extends: [.zephyr-nrf52840dk-nrf52840, .toolchain-clang, .broken] extends: [.zephyr-nrf52840dk-nrf52840, .toolchain-clang, .broken]
.zephyr-arduino-nano-33-ble: .zephyr-arduino-nano-33-ble:
extends: .build-zephyr extends: .build-zephyr-image
variables: variables:
MACHINE: arduino-nano-33-ble MACHINE: arduino-nano-33-ble
zephyr-arduino-nano-33-ble-gcc: zephyr-arduino-nano-33-ble-gcc:
......
...@@ -47,7 +47,7 @@ After successful bootup, you will be dropped into a login shell: ...@@ -47,7 +47,7 @@ After successful bootup, you will be dropped into a login shell:
qemux86-64 login: qemux86-64 login:
Default login is *root* without a password. The default login name is **oniro** with **oniro** as a password.
After login you will see the shell prompt: After login you will see the shell prompt:
......
...@@ -6,10 +6,12 @@ ...@@ -6,10 +6,12 @@
.build-zephyr-image .build-zephyr-image
=================== ===================
The ``.build-zephyr-image`` job extends the :doc:`build-image` job to collect only The ``.build-zephyr-image`` job extends the :doc:`build-image` job to collect, by default
the `*.bin` and `*.elf` files and remove all the other files that would the `*.bin` and `*.elf` files and remove all the other files that would
normally be collected by the artifact system. It is recommended for Zephyr normally be collected by the artifact system. The file types of the artifacts can be overridden.
builds which produce bin and elf images. This sets by default ``CI_ONIRO_BUILD_FLAVOUR`` to ``zephyr`` and ``CI_ONIRO_RECIPE_NAME``
to ``zephyr-philosophers``, the latter can be overridden to change the recipe builded by bitbake.
It is used by all Zephyr builds.
Usage Guide Usage Guide
=========== ===========
......
.. SPDX-FileCopyrightText: Huawei Inc.
..
.. SPDX-License-Identifier: CC-BY-4.0
=============
.build-zephyr
=============
The ``.build-zephyr`` job extends the :doc:`bitbake-workspace` job. It sets
``CI_ONIRO_BUILD_FLAVOUR`` to ``zephyr`` and builds the bitbake targets (e.g.
images) as defined by ``CI_ONIRO_BITBAKE_TARGETS`` (defaults included).
Usage Guide
===========
This job is not intended for direct use. Instead it serves as a base for all
the Zephyr-specific :doc:`../machines-and-flavours`.
...@@ -18,7 +18,6 @@ implementation details. ...@@ -18,7 +18,6 @@ implementation details.
bitbake-workspace bitbake-workspace
build-linux build-linux
build-linux-matrix build-linux-matrix
build-zephyr
build-freertos build-freertos
build-recipe build-recipe
build-image build-image
...@@ -30,3 +29,4 @@ implementation details. ...@@ -30,3 +29,4 @@ implementation details.
lava-report lava-report
aggregate-docs aggregate-docs
publish-rauc-bundle-to-hawkbit publish-rauc-bundle-to-hawkbit
oe-selftest
.. SPDX-FileCopyrightText: Huawei Inc.
..
.. SPDX-License-Identifier: CC-BY-4.0
============
.oe-selftest
============
The ``.oe-selftest`` job extends the :doc:`bitbake-workspace` job to configure
OpenEmbedded Self test environment. The job does not run any tests by itself,
actual tests should be run in the downstream test jobs.
Job Variables
=============
Oe-selftest is based on Python unitest. Tests are organized by module, class
and method. The ``.oe-selftest`` job defines two variables as a way to
customize what tests to run.
CI_ONIRO_OE_SELFTESTS
---------------------
The specific tests to run. The default value is empty. The order the tests are
running is alphabetical.
CI_ONIRO_OE_SEFLTEST_SKIPS
--------------------------
The specific tests to skip. The default value is empty.
.. SPDX-FileCopyrightText: Huawei Inc.
..
.. SPDX-License-Identifier: CC-BY-4.0
.. include:: definitions.rst
.. _DebugMode:
Debug Mode
##########
In some situations, you may want to compile an image with some additional tools
and features for easier debugging. For this reason, |main_project_name|
offers the debug mode.
Images built with the `debug mode` enabled contain additional tools and allow
to log in as root (which is disabled in the default images).
To enable the `debug mode`, edit your ``local.conf`` and add:
.. code-block:: console
INHERIT += "oniro-debug-linux"
For convenience, the section is already present commented-out in the template
and you may uncoment it.
When done, rebuild your image as usual. To go back to the production mode,
comment the line out again and rebuild your image.
.. Note::
Debug mode images are unsupported by the project and do not take part
of the release. They are provided for convenience only.
...@@ -74,6 +74,12 @@ sample application, *blinky*. In order to do so issue the following: ...@@ -74,6 +74,12 @@ sample application, *blinky*. In order to do so issue the following:
3. After the build completes, the ``zephyr-philosophers.bin`` and the ``zephyr-blinky.bin`` 3. After the build completes, the ``zephyr-philosophers.bin`` and the ``zephyr-blinky.bin``
file can be found in ``build-oniro-zephyr/tmp-newlib/deploy/images/arduino-nano-33-ble/``. file can be found in ``build-oniro-zephyr/tmp-newlib/deploy/images/arduino-nano-33-ble/``.
.. note::
By default, both zephyr-blinky and zephyr-philosophers applications will start once the board
is powered on without waiting for a serial console connection.
To start an application only when serial console is connected, specify ONIRO_ENABLE_ACM0 = "1".
This option may be useful in automated testing environment.
Flashing an Application Flashing an Application
======================= =======================
......
...@@ -84,7 +84,7 @@ Linux image ...@@ -84,7 +84,7 @@ Linux image
can be found in can be found in
``build-oniro-linux-raspberrypi4-64/tmp/deploy/images/$MACHINE/``. ``build-oniro-linux-raspberrypi4-64/tmp/deploy/images/$MACHINE/``.
The key file which is needed to flash into the SD card is The key file which is needed to flash into the SD card is
``oniro-image-base-raspberrypi4-64.wic.bz2``. ``oniro-image-base-raspberrypi4-64.wic.gz``.
Flashing |main_project_name| Linux image Flashing |main_project_name| Linux image
**************************************** ****************************************
...@@ -104,7 +104,7 @@ describes booting the board with an SD card option. ...@@ -104,7 +104,7 @@ describes booting the board with an SD card option.
.. code-block:: console .. code-block:: console
$ cd tmp/deploy/images/raspberrypi4-64 $ cd tmp/deploy/images/raspberrypi4-64
$ bmaptool copy oniro-image-base-raspberrypi4-64.wic.bz2 $DEVNODE $ bmaptool copy oniro-image-base-raspberrypi4-64.wic.gz $DEVNODE
2. Put the card to the board and turn it on. 2. Put the card to the board and turn it on.
......
...@@ -86,7 +86,7 @@ steps: ...@@ -86,7 +86,7 @@ steps:
.. code-block:: console .. code-block:: console
$ cd tmp/deploy/images/seco-intel-b68 $ cd tmp/deploy/images/seco-intel-b68
$ bmaptool copy oniro-image-base-seco-intel-b68.wic.bz2 $DEVNODE $ bmaptool copy oniro-image-base-seco-intel-b68.wic.gz $DEVNODE
3. Put the card to the board and turn it on. 3. Put the card to the board and turn it on.
......
...@@ -40,4 +40,5 @@ Build System Guide ...@@ -40,4 +40,5 @@ Build System Guide
:caption: Troubleshoot :caption: Troubleshoot
:maxdepth: 2 :maxdepth: 2
fallback-devices-support fallback-devices-support
debug-mode