Commit Graph

70 Commits

Author SHA1 Message Date
Petr Štetiar
55fa5598c7
ci: cram: gate arming builds on component selection
An automatic CRAM job waits for a manual build only when that build is
non-optional and not allowed to fail. Leaving the manual build default
in place would skip the downstream job initially and could run it after
a failed build.

Override rules on the six builds consumed by automatic CRAM jobs. Make
a build blocking exactly when its board's automatic job is armed, using
the same changes anchors and label policy. Keep variable and skip
stand-down paths manual and non-blocking.

GitLab gives a manual job selected through rules the real default of
allow_failure: false. Scope the explicit non-blocking fallback to merge
request pipelines so non-arming MRs do not block, while push, web, API,
and branch pipelines retain their existing implicit blocking form.

Preserve schedule, designated-branch, and release-tag behavior. Leave
the x86_64 and extender builds unchanged.

Assisted-by: codex:gpt-5.6-sol
References: CI-9
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-08-26 20:37:11 +02:00
Petr Štetiar
647353c929
ci: cram: add report and auto component selection jobs
Merge request changes currently leave all component CRAM jobs dormant.
Reviewers cannot see the selected coverage without resolving the matrix
themselves, and playing a bucket job cannot combine affected components
into one boot.

Add per-board changes anchors and six automatic component jobs. Resolve
their content from refreshed merge request labels and the diff before
any testbed setup. Exit cleanly without DUT cleanup when selection is
empty.

An automatic selection resolves a union of components that can become a
full run, so give these jobs the full-tier 85-minute budget instead of
the 40-minute component budget they would otherwise inherit.

Add an MR-only report job that prints the complete selection matrix
without a build or hardware dependency. Keep all 24 existing bucket jobs
unchanged.

The automatic template originally extended .cram_component as the later
parent after each board template. GitLab's parent precedence therefore
reapplied generic .testbed variables over board-specific values. This
changed DUT_WAN_INTERFACE on Freedom, Omnia, Haze, Mozart, and Valyrian,
and DUT_ARCH_PACKAGES_PATH on OSPv2, Haze, Mozart, and Valyrian. The
resulting Freedom failures exposed the wrong interface:

```text
014-firewall-levels.t: grep $DUT_WAN_INTERFACE -> [1]
045-qos.t: grep $DUT_WAN_INTERFACE -> [1]
```

Make .cram_component_auto a standalone overlay because the board parent
already supplies the component script and testbed chain. Add a committed
guard that resolves all six extends chains and requires each automatic
job to preserve its full-bucket sibling's variables.

Assisted-by: codex:gpt-5.6-sol
References: CI-9
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-08-26 20:37:10 +02:00
Petr Štetiar
b0aa5e3e34 ci: cram: size component job timeouts
Component jobs currently inherit the full-tier 85-minute timeout.
Measured runs peak at 35.8 minutes for components and 80.8 minutes for
the full tier.

Set each tier to the smallest five-minute multiple at least four
minutes above its maximum observed duration. This gives component jobs
40 minutes and retains 85 minutes for full jobs.

Keep the full-job limit explicit because those jobs would otherwise
inherit the new component limit. A hung component job now releases its
device roughly 45 minutes sooner.

Assisted-by: claude:opus-5:orchestrator
Assisted-by: codex:gpt-5.6-sol:medium-fast
References: CI-7
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-08-19 10:14:27 +00:00
Petr Štetiar
0054cef6b0 ci: cram: create component jobs as manual by default
Component jobs start automatically whenever CRAM_COMPONENTS selects
them, and the variable defaults to prplos. Every merge-request pipeline
therefore schedules six hardware jobs whether or not anybody needs
them, and the bucket choice is fixed before the pipeline exists. The
non-DUT manifest lint also starts automatically in non-scheduled
pipelines.

Testbed time is the scarce resource, and the build test jobs feeding
these DUT jobs are already manual in merge-request pipelines. The
natural flow is to pick buckets after a build finishes, not at
pipeline creation. The lint should follow the same opt-in flow.

Drop the CRAM_COMPONENTS default and add trailing manual rules so every
component job and the lint appear as optional play buttons in
non-scheduled pipelines. Manually started jobs never gate the pipeline
result. With no opt-in variable or release-tag override, no cram-related
job at all, lint included, starts automatically.

Setting CRAM_COMPONENTS still starts the listed buckets automatically
with each board's existing blocking behavior. The automatic full run in
prplware release tag pipelines is unchanged.

Assisted-by: claude:fable-5
References: CI-7
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-08-19 10:14:27 +00:00
Petr Štetiar
26895230f7 ci: cram: add component split jobs behind CRAM_COMPONENTS
The hardware cram jobs currently run each board's complete suite. Every
automatic pipeline therefore consumes coverage that can be selected more
cheaply by component.

Add a runtime component template so test collection happens in cram's
checkout and environment. Replace each legacy board job with four static
full, prplmesh, lcm, and prplos jobs selected through the
comma-separated CRAM_COMPONENTS variable.

Name each job `cram <board> [<component>]` and include the selected
component in the expandable test-execution section title.

Move the MXL-specific cram skip from the legacy job-name token. Use the
stable DUT board identifier instead.

Preserve skip behavior under the compact OSPv2 name.

Default automatic pipelines to prplos. Start the full jobs
automatically in prplware release tag pipelines, whose build jobs also
run automatically. Keep cram jobs out of scheduled pipelines entirely,
as with the legacy suite: schedules never create the build jobs these
jobs need, so any selected cram job would fail scheduled pipeline
creation with an unsatisfiable needs reference. Keep the test command,
post suite, timeout, run_check, and JUnit filenames unchanged.

Assisted-by: codex:gpt-5
Assisted-by: claude:fable-5
References: CI-7
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-08-19 10:14:27 +00:00
Petr Štetiar
fff3204ae2 ci: docker: drop the in-tree testbed container
The testbed container now has its own prpl Foundation project, release
pipeline, and versioned registry image. Keeping the old Debian Buster
image in prplos leaves two sources for the same CI runtime and continues
to expose obsolete build, test, and deploy jobs.

Remove the in-tree Dockerfile and its CI job definitions. Drop the root
include because the testbed and CDRouter templates now consume the
external containers/testbed release directly.

Assisted-by: codex:gpt-5
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
References: PPW-1258
2026-07-28 10:14:51 +01:00
Christian Marangi
33977c34b3 profiles: add Airoha/Nokia profile
Add Airoha/Nokia profile for the Valyrian board. Required packages
are imported from the feed-airoha repository.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Peter Steinhaeuser <ps@embedd.com>
2026-07-01 15:11:24 +01:00
Petr Štetiar
78b11d2d5b
ci: testbed: labgrid: flash OSPv2 and Freedom via FEAT-29 update_prpl
Switch the OSPv2 (mxl25641-hdk-6) and Freedom (wnc-freedom) eMMC flash
flow to the FEAT-29 U-Boot update script, replacing the legacy OSPv2
update_fullimage path and the Freedom untar/flash sysupgrade path. This
exercises the image/update tooling introduced in prplos!1964.

The flow tftpboots the per-board update_script.itb, sources it and runs
update_prpl against the FEAT-29 OS artifacts:
- OSPv2: PRPL_OSP_v2-wgrtd159be_b_wav700-ext4.img (4G variant)
- Freedom: prpl_freedom-kernel.itb + prpl_freedom-rootfs.itb

update_rescue_bank is set to yes so both OS banks carry the same image
and a bank failover cannot boot a stale rootfs. U-Boot/RBE/XBL/SMD are
left unset: those are one-time migration inputs and must not be
reflashed on every refresh. Boards are expected to already be on the
prpl flash layout. Hand-off to Linux uses run bootcmd (bootprpl/bootipq)
instead of reset, which avoids a power cycle and the labgrid autoboot
re-interrupt hazard.

init_command_timeout bounds the whole init_commands sequence and is set
deliberately tight, per board, so a network/perf regression (e.g. image
TFTP throughput roughly halving) trips the timeout instead of silently
passing, while still absorbing TFTP first-packet jitter. Validated runs
executed the init_commands in:
- OSPv2:   ~30s (update_script TFTP ~10s + update_prpl ~18s)   -> 60s
- Freedom: ~37s (sleep 5 + update_script TFTP ~3.5s + update_prpl ~24s,
                 two images to both banks)                     -> 75s

The rootfs_data overlay is erased before update_prpl so every refresh
boots from a clean overlay; update_prpl itself leaves rootfs_data
untouched. The block offsets are hardcoded from each board's GPT because
the target U-Boot has no part command to derive them:
- OSPv2:   mmc erase 0x86c00 0x10000   (32 MiB, UPDK 9.2.0)
- Freedom: mmc erase 0x534022 0x40000  (128 MiB)

Because update_prpl needs both the update script and the OS image over
TFTP, generalise the testbed/cdrouter firmware copy to a list via the
new TFTP_IMAGE_FILENAMES variable (falling back to TFTP_IMAGE_FILENAME),
rather than overloading TFTP_IMAGE_UNPACK_COMMAND. The Freedom testbed
job now drives the wnc-freedom-emmc target instead of initramfs, so the
now-unused wnc-freedom-initramfs labgrid target is dropped.

Flip the wnc-freedom and mxl25641-hdk-6 testbed runner tags to the -sfl
variant (dut-wnc-freedom-sfl, dut-mxl25641-hdk-6-b-sfl), to make it
clear, that those devices are converted to the prpl Standard Flash
Layout.

References: FEAT-29
Closes: PCF-2644, PCF-2645
Assisted-by: claude:opus-4-8:1m-context
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-06-23 10:57:09 +02:00
Petr Štetiar
fcfef4c496 ci: release,testbed: OSPv2: make firmware filenames UPDK 9.2.3 compliant
Update references to OSPv2 image names in YAML configurations to match
the new naming convention, which was introduced in UPDK 9.2.3, providing
single build for both A-Step and B-Step OSPv2 hardware revisions.

New A-Step: prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700_fullimage.fit
New B-Step: prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700_fullimage.fit

References: PCF-2202
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-01-29 10:46:42 +00:00
Mouna ALOUI
b7f6d2115a ci: blackduck: add extender_full profile to the blackduck scan
Adding the extender_full profile as it contains the following prplWare components:
 - tr181-gatewayinfo
 - tr069-connectionrequest
 - tr069-discovery
 - usp-discovery

which should be covered in the blackduck scan.

References: PCF-1794
Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
2025-11-21 12:35:41 +01:00
Matthias Franck
e2f3c88bc8 ci: blackduck: Add blackduck scan on maxlinear target.
Let's add a blackduck scan for maxlinear target as well.

References: PCF-1794

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-11-21 12:34:06 +01:00
Matthias Franck
b2a8ff9bb0 ci: blackduck: move blackduck to separate job
let's move blackduck to a seperate job for easier maintenance.

References: PCF-1794

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-11-21 12:33:10 +01:00
Mouna ALOUI
4ee3c0eebf ci: add extender_full profile to the coverity scan
Adding the extender_full profile as it contains the following prplWare components:
 - tr181-gatewayinfo
 - tr069-connectionrequest
 - tr069-discovery
 - usp-discovery

which should be covered in the coverity scan.

References: PCF-1795

Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
2025-11-17 13:20:36 +00:00
Mouna ALOUI
997603beb8 coverity: update coverity scan job name
Update coverity scan name to coverity scan qca_ipq95xx prpl cellular thread, since
cellular and thread would add some additional components.

References: PCF-1795

Signed-off-by: Mouna Aloui <mouna.aloui@softathome.com>
2025-11-17 13:20:36 +00:00
Mouna ALOUI
6db81ded28 ci: use correct coverity.yml file for licensed coverity version.
Adds a new YAML file to handle Coverity analysis using the licensed on-prem server
instead of the free Coverity Scan service.

References: PCF-1795

Signed-off-by: Mouna Aloui  <mouna.aloui@softathome.com>
2025-11-17 13:20:36 +00:00
Matthias Franck
9980cf3fea coverity: implement coverity scan job using the licensed version
Use bridge-cli to implement coverity scan as a static code analyzer.

Closes: PCF-2037
References: PCF-1795

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-11-17 13:20:36 +00:00
Petr Štetiar
7310621934
ci: switch testing from OSPv2 A-Step board to B-Step board
Since OSPv2 B-Step devices are de-facto a standard devices currently
being sold, it was decided to start using them for testing in prplOS CI
instead of current OSPv2 A-Step boards.

References: PCF-2200
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-11-16 15:54:32 +00:00
Petr Štetiar
0dda6cece0
ci: mxl25641: enable builds with thread profile
Thread feature should work out of the box on the Fast Track reference
platforms, so lets add a thread profile to the OSPv2 builds.

References: PCF-1297
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
(cherry picked from commit 0c4db5d4308cf68662d6a669d9fe93cbd921256f)
2025-10-12 09:21:57 +00:00
Petr Štetiar
3b134e421c
ci: cdrouter: add mandatory prplOS Network Test Plan v1.1.0 tests
We need to make sure, that prplWare passes prplOS Network Test Plan
certification test suite. So lets add a new `certification tests` stage
with a new prplOS-Network-Test-Plan-Mandatory-v1.1.0 CI test job which
should help us QA this.

The test package contains only mandatory tests from the test plan, so 63
tests:

 prplos.1.1.3, prplos.1.1.4, prplos.1.1.5, prplos.1.1.6, prplos.1.1.7,
 prplos.1.2.1, prplos.1.2.2, prplos.1.2.3, prplos.1.2.4, prplos.1.2.5,
 prplos.1.2.6, prplos.1.2.7, prplos.1.2.8, prplos.1.2.9, prplos.1.2.11,
 prplos.1.2.12, prplos.1.2.13, prplos.1.2.14, prplos.1.2.15,
 prplos.1.2.16, prplos.1.2.17, prplos.1.2.18, prplos.1.2.19,
 prplos.1.2.26, prplos.1.2.29, prplos.1.3.1, prplos.1.3.2, prplos.1.3.3,
 prplos.1.3.8, prplos.1.3.10, prplos.1.3.12, prplos.1.3.13,
 prplos.1.3.17, prplos.1.4.1, prplos.1.4.5, prplos.1.4.6, prplos.1.4.7,
 prplos.1.4.8, prplos.1.4.9, prplos.1.5.1, prplos.1.5.2, prplos.1.5.3,
 prplos.1.5.8, prplos.1.5.9, prplos.1.5.10, prplos.1.5.11, prplos.1.5.12,
 prplos.1.5.13, prplos.1.6.3, prplos.1.6.4, prplos.1.6.5, prplos.1.6.9,
 prplos.1.6.10, prplos.1.6.11, prplos.1.6.12, prplos.1.6.14,
 prplos.1.6.16, prplos.1.6.17, prplos.1.6.18, prplos.1.6.20,
 prplos.1.6.21, prplos.1.6.22, prplos.1.6.23

References: PCF-1609
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-10-11 13:54:10 +00:00
Christian Marangi
548bcfb519 Revert "PROVISORY: ci: disable support for Mozart board"
This reverts commit 743214c800.

Enable test for Mozart board now that they are supported again.

References: PCF-1970
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-10-09 18:05:06 +00:00
Roman Shcherbakov
1acddd2ce3 profiles: prpl: add Extender profiles
Add two profiles to build Extender firmware:
* extender_minimal.yml: minimal version of the Extender firmware;
* extender_full.yml: full version of the Extender firmware.
  The same as minimal + support LCM and TR-069/369 management.

Add new CI goals for these new profiles.

References: PCF-1849, FEAT-84

Signed-off-by: Roman Shcherbakov <r.shcherbakov@inango-systems.com>
2025-10-06 12:19:35 +02:00
Petr Štetiar
521cb3f684
ci: build: OSPv2: use standard build workflow
MxL moved repositories from their internal git.maxlinear.com source code
repositories into publicly accessible github.com repositories, so there
is no needs anymore to use special handling for OSPv2 builds.

Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-09-13 06:16:08 +00:00
Petr Štetiar
e04aa885a1
ci: reenable support OSPv2 board
In commit b126d1f0e1 ("PROVISORY: ci: disable support for OSPv1 and
OSPv2") we disabled CI for OSPv2 as the BSP wasn't ready yet. This
should be now resolved, so lets reenable the CI bits for OSPv2 by
partially reverting the changes. Support for OSPv1 is not reenabled and
the board remains disabled in CI.

References: PCF-1832
References: b126d1f0e1 ("PROVISORY: ci: disable support for OSPv1 and OSPv2")
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-09-13 06:16:07 +00:00
Petr Štetiar
743214c800
PROVISORY: ci: disable support for Mozart board
Since the support for the Mozart board is not ready yet in OpenWrt 24.10
based prplOS yet, we need to disable Filogic platform in the CI testing
until this is resolved.

References: PCF-1970
Link: https://gitlab.com/prpl-foundation/prplos/prplos/-/jobs/10902336741
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-08-04 10:38:47 +00:00
Petr Štetiar
b126d1f0e1
PROVISORY: ci: disable support for OSPv1 and OSPv2
Since the underlying BSP doesn't support OpenWrt 24.10 based prplOS yet,
we need to disable both OSPv1 and OSPv2 platforms in the CI testing
until this is resolved.

References: PCF-1832
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-08-04 08:04:44 +00:00
Maarten De Decker
c9a753eee3
CI: merge smoke stages
Merges the CDRouter and EasyMesh smoke stage into one "smoke tests" stage.

Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
2025-07-31 15:29:02 +00:00
Maarten De Decker
e0e930d7cb
CI: easymesh: add prplMesh smoke test
Copy over files from the prplMesh repository to flash devices in the R1 Easymesh testbed.
Adds an easyMesh R1 certification test on Freedom as a smoke test (MAP-4.4.2_BHWIFI_FH5GH).

Closes: PPM-3316
Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
2025-07-31 15:29:01 +00:00
Petr Štetiar
c0e731a8fb
ci: add runtime testing using MediaTek/Arcadyan Mozart board
New MediaTek/Arcadyan Mozart regular track reference platform is being
introduced, so lets enable the runtime testing using cram/CDRouter tests
on one Mozart device currently plugged into testbed-02.

References: PCF-1460, PCF-1461
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-07-31 15:27:38 +00:00
Petr Štetiar
07eeb36da0
ci: enable build testing of new mtk_filogic target
New MediaTek/Arcadyan Mozart regular track reference platform is being
introduced, so for the start lets enable the build testing.

References: PCF-1459
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:27:37 +00:00
Petr Štetiar
ac834c9082
ci: fix wasting of runtime testing resources after failed builds
Currently we're wasting roughly about 3 minutes of precious testbed time
when the firmware build CI job fails, every time. Due to increased
testing, this is no longer acceptable waste of testing resources.

During the investigation it was found out, that this is happening due to
changes introduced in commit febd8b0032fa (".gitlab: Only run tests when
TFTP_IMAGE_DOWNLOAD_URL is set"), feature which was mainly introduced to
allow testing of externally build firmware images inside SoftAtHome for
previous, pre-2024 contribution delivery workflow. This is no longer
being used.

So lets fix it, but removing of TFTP_IMAGE_DOWNLOAD_URL feature. If we
need this feature again, it should be implemented in a different way,
avoiding wasting of the testbed resources after failed build.

Additionally, we need to change `rules: - when: always` in testbed.yml,
as it would still make run the CI job, despite of the failed dependency,
resorting back to the default `on_success` when rules, where the job is
run only when no jobs in earlier stages fail.

Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:27:24 +00:00
Matthias Franck
01acebdec1
ci: build: enable cellular profile for mxl ospv2
Since the cellular features should also work on this platform.

Signed-off-by: Matthias Franck <matthias.franck@softathome.com>
2025-07-31 15:27:03 +00:00
Petr Štetiar
95497de331
ci: mark tests which could fail as allowed to fail to maintain green CI status
Currently we're seeing a bit confusing workflow, where merge requests
with failed (red) CI pipeline are being merged. This is caused by the
fact, that sometimes we run additional tests on CI testing platforms
like Haze/Turris, which are not properly maintained due to limited
resources, so it takes a bit more time to fix those CI tests.

Sometimes we run test cases which are work in progress, like the prpl
Certification or pending fixes delivery like UPnP. It doesn't mean, that
there is necessarily something wrong with the contribution under the
test.

We're just making sure, that no new regressions are being introduced or
for example, when adding new tests, that they're generic enough and
works across the boards.

So lets improve the situation and mark such test cases as allowed to
fail, so once we use them in the pipeline for internal testing purposes,
their result doesn't influence the resulting pipeline status and thus we
would be merging contributions with possibly only OK (green) CI
pipeline.

Suggested-by: Frederik Van Bogaert <frederik.vanbogaert@prplfoundation.org>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:25:27 +00:00
Nabil BIZID
5c41d3bb37
profiles: thread: add new profile with thread dependencies
The tun driver is necessary for Thread to work,
since openthread border router creates a tun interface
for the Thread radio.
This profile contain the dependencies of the thread container

References: PCF-1041

Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
2025-07-31 15:24:52 +00:00
Petr Štetiar
29e348b9e5
ci: build: OSP, Freedom: fix Coverity job by removing the manual rules
Currently the Coverity build is blocked due to two stray build jobs (OSP
and Freedom) in the Coverity pipeline.

This is happening due to the manual rule, which was added as provisory
workaround in commit bcf0deb2f195 ("PROVISORY: ci: freedom: disable
platform") and in commit d49b86aae9fc ("PROVISORY: ci: disable
URX851-B0-DK-PON and URX851-HDK-3 platforms").

So lets fix it by removing those manual rules.

References: PCF-1169, PCF-1170, PCF-1537
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:23:28 +00:00
Petr Štetiar
b12d7cc424
ci: cdrouter: add prplWare Smoke Test Suite testing
Current CI testing pipeline is very comprehensive and unusable for
testing of more granular deliveries and thus a new prplWare Smoke Test
Suite is needed.

The idea behind this new prplWare Smoke Test Suite is, that the complete
test runtime should fit into the range of 60-90 minutes.

The new Smoke Test Suite should contain testing a bit of everything, so
we cover most of the areas, while being  able to finish a test within a
reasonable timeframe.

Thus this new test suite combines the current:

 * CDRouter TOP 100 IPv4 and IPv6 packages, minus:

   - the longest running TCP/UDP firewall port scan tests:

     * ipv6_firewall_100
     * ipv6_firewall_101
     * cdrouter_firewall_100
     * cdrouter_firewall_101
     * cdrouter_firewall_110

   - the failing tests on OSP boards:

     * cdrouter_nat_201 tracked in PCF-972
     * cdrouter_l2tppt_2 tracked in PCF-971

 * CDRouter TR-069 package, minus the reboot test od128_test_14.1

 * CDRouter USP certification test cases + USP basic test + prpl HL-API
   tests (minus the problematic and currently always failing prpl_hl-api.1.4 Set test)

 * cdrouter_dyndns_1 - DynDNS client sends an update request when the WAN IP address changes
 * cdrouter_dyndns_2 - DynDNS client does not update if the WAN reestablishes with the same IP address

So the package contains in total 310 CDRouter test cases.

Closes: PCF-1645
References: PCF-971, PCF-972
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:23:20 +00:00
Petr Štetiar
91811f9f0d
ci: cleanup obsolete and unused devices, tests and support bits
There is currently a lot of old and already very obsolete stuff in the
tree for the past devices like glinet-b1300, urx851-b0-dk, nec-wx3000hp.

So lets cleanup all those unused bits to make the tree more tidy and
easier to maintain.

Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:23:19 +00:00
Petr Štetiar
14b6331703
ci: qca_ipq95xx: build with cellular profile
Enable builds with cellular profile enabled in order to provide early QA
and firmware images which should contain working support for Quectel
RM520N-GL modules available on some Freedom boards.

References: PCF-1173
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:21:50 +00:00
Petr Štetiar
4b345104c4
ci: sunset testing of URX851-B0-DK-PON
It was decided, that LGP board is going to be replaced with OSPv2 for
XGS-PON based WAN uplink testing, so there is no need to waste time on
LGP board, so lets disabled it on the CI.

References: PCF-688, PCF-1214
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
(cherry picked from commit 43f08d0c4ec011605bbdbf510ef891922efccf7b)
2025-07-31 15:18:55 +00:00
Petr Štetiar
635d4f72ce
ci: fix container paths using designated branch slug
Having slash in new `prpl/nightly` branch name causes issues with the
container paths:

 The push refers to repository [registry.gitlab.com/prpl-foundation/prplos/prplos/prpl/nightly/builder]
 ...
 denied: requested access to the resource is denied

So lets fix it by introducing new `CI_DESIGNATED_BRANCH_SLUG` variable
and use it appropriately.

Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:18:41 +00:00
Petr Štetiar
2806cfa2d6
PROVISORY: ci: disable URX851-B0-DK-PON and URX851-HDK-3 platforms
Currently its not possible to build BSP for those plaforms with the new
toolchain, so lets disable the platforms on the CI so we can move on and
re-enable them when they're ready.

References: PCF-1169
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:18:40 +00:00
Petr Štetiar
d337d79cf5
PROVISORY: ci: freedom: disable platform
Currently its not possible to build BSP for the plaform with the new
toolchain, so lets disable the platform on the CI so we can move on and
re-enable it when its ready.

References: PCF-1170
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:18:38 +00:00
Petr Štetiar
8a559b1706
ci: set designated branch to prpl/nightly
So we're using the same base containers and avoid different glibc version
issues currently manifesting in the SDKs:

 /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /home/builder/staging_dir/host/lib/libfakeroot.so)

References: PCF-1011
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:18:36 +00:00
Petr Štetiar
bbfaa88c6d
ci: build: mxl: pin to nightly containers
So we're using the same base containers for all platform builds.

Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:18:30 +00:00
Petr Štetiar
4f059a8512
ci: cdrouter: add mxl25641-hdk-6 aka OSPv2
Copy over tests from urx851-hdk-3 and adapt them for mxl25641-hdk-6 so
we can QA this new board.

References: PCF-1138
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 10:36:11 +00:00
Petr Štetiar
7b77da8dbf
ci: testbed-02: add mxl25641-hdk-6 aka OSPv2
Add mxl25641-hdk-6 aka OSPv2 board with ethernet WAN uplink so we can QA
this new board.

References: PCF-1136
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 10:36:10 +00:00
Petr Štetiar
525a043762
ci: add build support for OSPv2
Lets make builds for new MxL OSPv2 reference platform available.

Closes: PCF-1135
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 10:36:08 +00:00
Petr Štetiar
98e39d632e
ci: fix missing Coverity scan job
I've just noticed, that Coverity scan build job got removed as we've
deprecated glinet-b1300 reference device, so lets fix it by adding the
job back with builds for ipq807x target.

Fixes: 9c054f15f350 ("ci: sync with current prplos branch state")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:35 +00:00
Petr Štetiar
b83d51d423
ci: add runtime testing support for WNC Freedom board
Add CI runtime testing bits to QA using new reference target WNC Freedom
board.

References: PCF-1047
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:31 +00:00
Petr Štetiar
4ee26f3db3
ci: qca_ipq95xx: add build support for WNC Freedom board
Add CI build bits for the new qca_ipq95xx reference profile which
supports WNC Freedom board.

References: PCF-1047
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:30 +00:00
Petr Štetiar
3fa01d4f91
Revert "PROVISORY: ci: haze: use prpl-haze-emmc with sysupgrade image"
This reverts commit 3d39a19cfc55aa6cce70fa9a1d52ee58e8ac35c7 as the
underlying issue was fixed with fixed bootloader version.

References: PCF-1048
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:35:29 +00:00