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:
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
lava-seco-c61:
lava-seco-c61-4gb:
needs: [linux-seco-imx8mm-c61-4gb-gcc]
stage: test
extends: .lava-test-scheduled
variables:
MACHINE: seco-imx8mm-c61-4gb
BOARD_RAM_SIZE: 4gb
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_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:
needs: [linux-qemu-x86-gcc]
stage: test
......@@ -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_REPORT_JOB_NAME: lava-report
lava-seco-c61-ltp:
lava-seco-c61-4gb-ltp:
needs: [linux-seco-imx8mm-c61-4gb-gcc]
stage: test
extends: .lava-test-scheduled
variables:
MACHINE: seco-imx8mm-c61-4gb
BOARD_RAM_SIZE: 4gb
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_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:
needs: [linux-qemu-x86_64-gcc]
stage: test
......@@ -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_REPORT_JOB_NAME: lava-report
lava-seco-c61-kselftest:
lava-seco-c61-4gb-kselftest:
needs: [linux-seco-imx8mm-c61-4gb-gcc]
stage: test
extends: .lava-test-scheduled
variables:
MACHINE: seco-imx8mm-c61-4gb
BOARD_RAM_SIZE: 4gb
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_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:
needs: [zephyr-96b-nitrogen-twister-gcc]
stage: test
......@@ -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_REPORT_JOB_NAME: lava-report
lava-seco-c61-perf:
lava-seco-c61-4gb-perf:
needs: [linux-seco-imx8mm-c61-4gb-gcc]
stage: test
extends: .lava-test-scheduled
variables:
MACHINE: seco-imx8mm-c61-4gb
BOARD_RAM_SIZE: 4gb
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_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:
needs: [zephyr-qemu-cortex-m3-gcc]
stage: test
......@@ -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_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:
extends: .lava-report
needs:
......@@ -529,3 +597,101 @@ build-npm-cspell:
extends: .build-with-kaniko
variables:
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 @@
echo "CI_ONIRO_MANIFEST_URL: $CI_ONIRO_MANIFEST_URL"
echo "CI_ONIRO_MANIFEST_NAME: $CI_ONIRO_MANIFEST_NAME"
echo "CI_ONIRO_MANIFEST_BRANCH: $CI_ONIRO_MANIFEST_BRANCH"
repo init --reference \
"$CI_ONIRO_RUNNER_PERSISTENT_STORAGE"/pub/git-repo-mirrors/"$CI_ONIRO_MANIFEST_MIRROR" \
repo init \
$(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-name "$CI_ONIRO_MANIFEST_NAME" \
--manifest-branch "$CI_ONIRO_MANIFEST_BRANCH"
......@@ -162,8 +162,17 @@
| sed -e 's/^CI_ONIRO_BB_LOCAL_CONF_plus_equals_//g' -e 's/"/\\"/g' -e 's/=/ += "/g' -e 's/$/"/g' \
| sort \
| tee -a conf/local.conf )
# Print local conf for debugging.
- grep -E '^[^#]' conf/local.conf
# Variables in the form of '^CI_ONIRO_BB_BBLAYERS_CONF_plus_equals_attr' are
# 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
# in local.conf. The list of settings may grow over time.
......@@ -206,6 +215,7 @@
# Linux builds can be extremely large. Use rm_work to remove the temporary
# 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: create-spdx
script:
- test -n "$CI_ONIRO_BITBAKE_TARGETS" || (
echo "nothing to build - CI_ONIRO_BITBAKE_TARGETS is empty"
......@@ -224,23 +234,6 @@
matrix:
- 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
.build-freertos:
extends: .bitbake-workspace
......@@ -272,27 +265,33 @@
# subdirectories.
- mkdir -p "$CI_PROJECT_DIR"/artifacts
- rm -rf "$CI_PROJECT_DIR"/artifacts/*
# The name of the build-specific tmp directory may vary. Ask bitbake
# instead of hard-coding it. This is currently only relevant for Zephyr,
# which uses tmp-newlib.
- eval "$(bitbake -e | grep ^TMPDIR= | sed -e 's/^TMPDIR/BITBAKE_TMPDIR/g')"
# The name of the build-specific deploy dir may vary. Ask bitbake instead
# of hard-coding it.
- eval "$(bitbake -e | grep ^DEPLOY_DIR= | sed -e 's/^DEPLOY_DIR/BITBAKE_DEPLOY_DIR/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
# meta-oniro-core/classes/oniro-image.bbclass as runqemu needs it for local
# build and boot.
- find "$BITBAKE_TMPDIR"/deploy/images/ -name *.wic -exec rm -rf {} \;
- cp -a "$BITBAKE_TMPDIR"/deploy/licenses/ "$CI_PROJECT_DIR"/artifacts || true
- find "$BITBAKE_DEPLOY_DIR"/images/ -name *.wic -exec rm -rf {} \;
- cp -a "$BITBAKE_DEPLOY_DIR"/licenses/ "$CI_PROJECT_DIR"/artifacts || true
# Only copy the files defined in the CI_ONIRO_JOB_ARTIFACTS variable. Most
# of the remaining files are redundant and quite large.
- |
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
find ./ \( -type f -o -type l \) -name "$artifact" -exec cp --verbose --archive --parents {} "$CI_PROJECT_DIR"/artifacts \;
done
)
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
artifacts:
paths:
......@@ -301,11 +300,7 @@
.build-wic-image:
extends: .build-image
variables:
# cve-check is enabled in the .bitbake-workspace job. Append
# 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_BB_LOCAL_CONF_plus_equals_INHERIT: create-spdx
CI_ONIRO_JOB_ARTIFACTS: "*.wic.* *.bmap"
script:
- !reference [.build-image, script]
......@@ -405,15 +400,30 @@
.build-zephyr-image:
extends: .build-image
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"
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.
# It will be removed when that is safe to do so. It is not documented.
.build:
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
.build-docs:
interruptible: true
......@@ -458,3 +468,58 @@
# Run this job in case the pipeline changes.
- .oniro-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 @@
# SPDX-License-Identifier: Apache-2.0
[user]
name = Oniro Project CI
email = oniro-dev@eclipse.org
name = Oniro Core Project Bot
email = oniro-core-bot@eclipse.org
......@@ -26,8 +26,8 @@ RUN apt-get update -qq \
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 \
python3-distutils python3-pip libssl-dev iproute2 iputils-ping curl jq \
lz4 zstd \
&& eatmydata apt-get install -qq -y 'ca-certificates=20210119~20.04.2' \
lz4 zstd iptables\
&& eatmydata apt-get install -qq -y 'ca-certificates=20211016~20.04.1' \
&& eatmydata apt-get clean && rm -rf /var/lib/apt/lists/*
RUN locale-gen
RUN pip3 install anybadge
......@@ -36,7 +36,12 @@ RUN pip3 install anybadge
RUN echo "dash dash/sh boolean false" | debconf-set-selections \
&& 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
USER builder
WORKDIR /home/builder
# SPDX-FileCopyrightText: 2021 Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
[user]
name = Oniro Project CI
email = oniro-dev@eclipse.org
name = Oniro Core Project Bot
email = oniro-core-bot@eclipse.org
# SPDX-FileCopyrightText: Huawei Inc.
# 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/
ARG DEBIAN_FRONTEND="noninteractive"
......@@ -11,7 +11,12 @@ RUN apt-get update -qq \
&& apt-get install -y eatmydata \
&& eatmydata apt-get install -qq -y \
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 \
&& 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/*
# 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-FileCopyrightText: 2020 Huawei Inc.
deb http://ppa.launchpad.net/zyga/oh-tools/ubuntu/ impish main
# deb-src 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/ 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 @@
allow_failure: true
.linux-qemu-x86:
extends: .build-wic-image
extends: [.build-wic-image, .check-abi]
variables:
MACHINE: qemux86
CI_ONIRO_BUILD_FLAVOUR: linux
......@@ -51,7 +51,7 @@ linux-qemu-x86-clang:
extends: [.linux-qemu-x86, .toolchain-clang]
.linux-qemu-x86_64:
extends: .build-wic-image
extends: [.build-wic-image, .check-abi]
variables:
MACHINE: qemux86-64
CI_ONIRO_BUILD_FLAVOUR: linux
......@@ -88,12 +88,15 @@ linux-seco-intel-b68-extra-clang:
extends: [.linux-seco-intel-b68-extra, .toolchain-clang]
.linux-seco-imx8mm-c61-2gb:
extends: .build-linux-matrix
extends: .build-wic-image
variables:
CI_ONIRO_BUILD_FLAVOUR: linux
CI_ONIRO_RECIPE_NAME: oniro-image-base-tests
MACHINE: seco-imx8mm-c61-2gb
# This platform requires proprietary resources to boot.
# See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
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:
extends: [.linux-seco-imx8mm-c61-2gb, .toolchain-gcc]
linux-seco-imx8mm-c61-2gb-clang:
......@@ -108,7 +111,7 @@ linux-seco-imx8mm-c61-2gb-clang:
# This platform requires proprietary resources to boot.
# See build-generic.yaml for explanation of CI_ONIRO_BB_LOCAL_CONF_ variables.
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:
extends: [.linux-seco-imx8mm-c61-4gb, .toolchain-gcc]
linux-seco-imx8mm-c61-4gb-clang:
......@@ -129,7 +132,7 @@ linux-seco-imx8mm-c61-4gb-extra-clang:
extends: [.linux-seco-imx8mm-c61-4gb-extra, .toolchain-clang, .broken]
.linux-raspberrypi4-64:
extends: .build-wic-image
extends: [.build-wic-image, .check-abi]
variables:
MACHINE: raspberrypi4-64
CI_ONIRO_BUILD_FLAVOUR: linux
......@@ -146,9 +149,6 @@ linux-raspberrypi4-64-clang:
# See the note on linux-qemu-x86.
CI_ONIRO_BUILD_CACHE: "pub"
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:
extends: [.zephyr-qemu-x86, .toolchain-gcc]
zephyr-qemu-x86-clang:
......@@ -161,9 +161,6 @@ zephyr-qemu-x86-clang:
# See the note on linux-qemu-x86.
CI_ONIRO_BUILD_CACHE: "pub"
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:
extends: [.zephyr-qemu-cortex-m3, .toolchain-gcc]
zephyr-qemu-cortex-m3-clang:
......@@ -173,9 +170,6 @@ zephyr-qemu-cortex-m3-clang:
extends: .build-zephyr-image
variables:
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:
extends: [.zephyr-96b-nitrogen, .toolchain-gcc]
zephyr-96b-nitrogen-clang:
......@@ -186,20 +180,16 @@ zephyr-96b-nitrogen-clang:
variables:
MACHINE: 96b-nitrogen
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:
extends: [.zephyr-96b-nitrogen-tests, .toolchain-gcc]
zephyr-96b-nitrogen-tests-clang:
extends: [.zephyr-96b-nitrogen-tests, .toolchain-clang, .broken]
.zephyr-96b-nitrogen-twister:
extends: .build-image
extends: .build-zephyr-image
variables:
MACHINE: 96b-nitrogen
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"
zephyr-96b-nitrogen-twister-gcc:
extends: [.zephyr-96b-nitrogen-twister, .toolchain-gcc]
......@@ -207,7 +197,7 @@ zephyr-96b-nitrogen-twister-clang:
extends: [.zephyr-96b-nitrogen-twister, .toolchain-clang, .broken]
.zephyr-96b-avenger:
extends: .build-zephyr
extends: .build-zephyr-image
variables:
MACHINE: 96b-avenger96
zephyr-96b-avenger-gcc:
......@@ -216,7 +206,7 @@ zephyr-96b-avenger-clang:
extends: [.zephyr-96b-avenger, .toolchain-clang, .broken]
.zephyr-nrf52840dk-nrf52840:
extends: .build-zephyr
extends: .build-zephyr-image
variables:
MACHINE: nrf52840dk-nrf52840
zephyr-nrf52840dk-nrf52840-gcc:
......@@ -225,7 +215,7 @@ zephyr-nrf52840dk-nrf52840-clang:
extends: [.zephyr-nrf52840dk-nrf52840, .toolchain-clang, .broken]
.zephyr-arduino-nano-33-ble:
extends: .build-zephyr
extends: .build-zephyr-image
variables:
MACHINE: arduino-nano-33-ble
zephyr-arduino-nano-33-ble-gcc:
......
......@@ -47,7 +47,7 @@ After successful bootup, you will be dropped into a login shell:
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:
......
......@@ -6,10 +6,12 @@
.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
normally be collected by the artifact system. It is recommended for Zephyr
builds which produce bin and elf images.
normally be collected by the artifact system. The file types of the artifacts can be overridden.
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
===========
......
.. 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.
bitbake-workspace
build-linux
build-linux-matrix
build-zephyr
build-freertos
build-recipe
build-image
......@@ -30,3 +29,4 @@ implementation details.
lava-report
aggregate-docs
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:
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/``.
.. 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
=======================
......
......@@ -84,7 +84,7 @@ Linux image
can be found in
``build-oniro-linux-raspberrypi4-64/tmp/deploy/images/$MACHINE/``.
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
****************************************
......@@ -104,7 +104,7 @@ describes booting the board with an SD card option.
.. code-block:: console
$ 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.
......
......@@ -86,7 +86,7 @@ steps:
.. code-block:: console
$ 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.
......
......@@ -40,4 +40,5 @@ Build System Guide
:caption: Troubleshoot
:maxdepth: 2
fallback-devices-support
fallback-devices-support
debug-mode