prplos/.gitlab
Petr Štetiar fc1fb354be PROVISORY: ci: cram: cellular-manager:skip tests on testbed-02
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>
2026-05-19 17:29:37 +01:00
..
cdrouter PROVISORY: ci: cdrouter: OSPv2: switch USP MTP from MQTTv5 to WebSocket 2026-04-21 16:58:23 +01:00
certs ci: ssh-server: add tests for pubkey auth and session features 2025-07-31 10:35:18 +00:00
docker ci: cram: new test development for tr181-periodicfileupload 2026-02-19 15:11:44 +01:00
mockups ci: sync with current prplos branch state 2025-07-31 10:31:53 +00:00
scripts ci: cdrouter: switch USP testing from STOMP to MQTTv5 as primary MTP 2026-04-21 16:00:15 +01:00
testbed ci: release,testbed: OSPv2: make firmware filenames UPDK 9.2.3 compliant 2026-01-29 10:46:42 +00:00
tests PROVISORY: ci: cram: cellular-manager:skip tests on testbed-02 2026-05-19 17:29:37 +01:00
blackduck.yml ci: blackduck: Add tar.gz archiving of BlackDuck scan output 2025-11-21 12:35:44 +01:00
build.yml PROVISORY: build: Freedom: workaround build issue of mac80211 in ATH13.1ED 2026-03-06 16:19:48 +01:00
cdrouter.yml ci: cdrouter: switch USP testing from STOMP to MQTTv5 as primary MTP 2026-04-21 16:00:15 +01:00
coverity.yml ci: coverity: disable CONFIG_REGULATOR_CPR3 to fix cov-emit crash 2026-03-27 09:06:31 +00:00
docker.yml ci: fix wasting of runtime testing resources after failed builds 2025-07-31 15:27:24 +00:00
prplmesh.yml ci: prplMesh: unbuffer python stdout 2025-10-15 10:06:24 +00:00
README.md profiles,ci: sunset webui profile 2025-07-31 10:33:15 +00:00
release.yml ci: release,testbed: OSPv2: make firmware filenames UPDK 9.2.3 compliant 2026-01-29 10:46:42 +00:00
sdk.yml ci: ipq807x: fix filenames and references after target rename to qualcommax 2025-07-31 15:25:51 +00:00
testbed.yml ci: cram: add cellular-manager tests and increase cram test execution timeout 2026-05-19 17:29:37 +01:00

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 -SDK would result in CONFIG_BUILD_LOG=y and CONFIG_SDK=y config symbols in .config file.

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 nproc if 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.