MR !2468 adds generic/cellular-manager cram coverage for FEAT-9 and PCF-2474. The tests validate BBF-2.20 cellular manager behavior including TrustedElements SIM data, SIM selection, USIM data, roaming, access points, data sessions, bearer and session behavior, access technology, and SMS. This is a provisory CI workaround for the testbed-02 cellular infrastructure only. Currently these tests randomly timeouts on Data Model Cellular.? access. The cross-testbed analysis shows that the RF-dependent failures are specific to testbed-02. The bad PCF-2588 and PCF-2589 jobs both ran on testbed-02, while their good comparison jobs ran on testbed-01. So lets add a provisory testbed-02 guard to these cellular-manager cram files. When CI_RUNNER_DESCRIPTION contains testbed-02, cram exits with code 80 before any DUT command runs and reports each file as skipped. On testbed-01, and on any runner that does not identify itself as testbed-02, the tests continue to run normally. Revert this commit once PCF-2585 is resolved and testbed-02 provides reliable 5G/SIM/modem/operator registration for unattended CI again. Runtime evidence from MR !2468 pipeline 2520044849: - job 14345308779, run test MXL25641-HDK-6 with system on eMMC - job 14342893182, run test Freedom initramfs Both junit/xUnit artifacts reported the new cellular-manager tests as passed on testbed-01. Times are from cram-result-*.xunit.xml and are in seconds. Test MXL25641-HDK-6 Freedom OSPv2 / eMMC ipq95xx ---------------------------------------- -------------- -------- 004-set-trusted-elements.t 31.239s 31.041s 007-debug-cellular.t 5.457s 4.423s 010-verify-sim-selection.t 1.810s 1.411s 020-verify-usim-data-elements.t 1.097s 0.860s 045-verify-roaming-upstream-status.t 1.030s 0.865s 060-verify-access-point.t 1.309s 1.034s 070-verify-data-session.t 1.129s 0.856s 100-bearer-session-disable.t 1.126s 0.877s 110-access-technology.t 3.375s 2.360s 120-sms-storage.t 0.654s 0.534s 130-sms-message-attributes.t 0.622s 0.520s ---------------------------------------- -------------- -------- Total 48.849s 44.781s References: PCF-2474, PCF-2585, PCF-2588, PCF-2589, FEAT-9 Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14253838317 Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14314875035 Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14345308779 Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/14342893182 Assisted-by: codex:gpt-5.5 Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> |
||
|---|---|---|
| .. | ||
| cdrouter | ||
| certs | ||
| docker | ||
| mockups | ||
| scripts | ||
| testbed | ||
| tests | ||
| blackduck.yml | ||
| build.yml | ||
| cdrouter.yml | ||
| coverity.yml | ||
| docker.yml | ||
| prplmesh.yml | ||
| README.md | ||
| release.yml | ||
| sdk.yml | ||
| testbed.yml | ||
Content
This directory contains stuff used on the GitLab CI.
docker
Contains definitions for Docker images.
testbed
Contains definitions for testbed related tests.
scripts
Contains scripts used on GitLab CI.
tests
Contains tests used on GitLab CI.
build.yml
Contains definition of the GitLab CI build test job templates used during build stage. Those templates can then be extended by other GitLab CI jobs in order to keep things DRY.
.build test config
Allows build testing of specific configurations defined in the profiles directory, using scripts/gen_config.py under the hood.
Example usage:
include:
- local: .gitlab/build.yml
stages:
- build
build test netgear-rax40 prpl:
extends: .build test config
Which is going to build test prplOS with netgear-rax40 and prpl profiles.
Description of CI variables:
- CI_BUILD_CONFIG_EXTRA - list of additional config options which should be enabled(prefixed with
+) or disabled (prefixed with-), for example+BUILD_LOG -SDKwould result inCONFIG_BUILD_LOG=yandCONFIG_SDK=yconfig symbols in.configfile.
docker.yml
Provides support for building, tagging and pushing the Docker images to image registry.
For example let's build image foo.
Prerequisites:
- Create directory for new Docker image
mkdir -p .gitlab/docker/foo - Docker image description
$EDITOR .gitlab/docker/foo/Dockefile
Then just put following into .gitlab/docker/foo/gitlab.yml
build Docker image foo:
extends: .build Docker image
testbed.yml
Provides bits needed for runtime testing on real device using labgrid Python testing framework.
Supported devices:
- Netgear RAX40
sdk.yml
Provides support for the OpenWrt SDK utilizing the Docker SDK container under the hood.
.build feed with SDK
Allows compile testing of packages using the SDK.
Example usage, build testing of safec3 package from Intel's feed_opensource_apps feed.
include:
- remote: https://gitlab.com/prpl-foundation/prplOS/prplos/-/raw/prplos/.gitlab/sdk.yml
build:
extends: .build feed with SDK
variables:
CI_SDK_INSTALL_FEEDS: feed_target_mips
CI_SDK_BUILD_PACKAGES: safec3
Description of CI variables:
- CI_SDK_INSTALL_FEEDS - list of feeds which should be installed prior to building packages.
- CI_SDK_BUILD_PACKAGES - list of packages which should be compile tested.
- CI_SDK_BUILD_PARALLEL - max number of threads to use for make (defaults to
nprocif unset).
.generate SDK package build jobs
Generates sdk-package-jobs.yml with separate build jobs for every package so the builds of those packages
can run in parallel. It's supposed to be executed by the child pipeline .execute SDK package build jobs.
.execute SDK package build jobs
It's supposed to execute jobs generated in sdk-package-jobs.yml generated by .generate SDK package build jobs job.