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>
(cherry picked from commit 7310621934)
OSPv1 was officially EOL by MaxLinear with UPDK 9.1.80, so lets remove
it from the CI as well.
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
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>
(cherry picked from commit 3b134e421c)
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>
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>
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>
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>
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>
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 febd8b0032 (".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>
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>
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>
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 bcf0deb2f1 ("PROVISORY: ci: freedom: disable
platform") and in commit d49b86aae9 ("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>
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>
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>
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>
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 43f08d0c4e)
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>
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>
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>
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>
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>
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>
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>
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>
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>
Adding obuspa package has increased slightly prplOS firmware image, but
it was enough to trigger Haze's bootloader factory pre-configured
limits.
U-Boot shipped with the devices has configuration limits which prevents
to boot initramfs images which have size of 33951166 Bytes = 32.4 MiB:
U-Boot 2016.01 (Nov 09 2022 - 16:51:22 +0800)
...
IPQ807x# tftpboot 0x41000000 openwrt-ipq807x-generic-prpl_haze-initramfs-uImage.itb && bootm 0x41000000
...
Uncompressing Kernel Image ... Error: inflate() returned -5
Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover
resetting ...
So lets workaround this bootloader limit by writting the firmware image
directly into the eMMC storage with sysupgrade image, thats it, we
couldn't use initramfs images on Haze until we get U-Boot with suitable
configuration.
References: PCF-1048, PCF-929
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This reverts commit 04b4955eacf89c38d0068a023b0fcc9ab29c43f5 as it
seems, that the bugs related to the security profile are less prevalent.
References: PCF-967
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Currently its not possible to customize LCM SDK for our LCM container CI
QA purposes, so lets provide ImageBuilder based LCM testing containers
which can be used for the same purposes.
References: LCM-737, LCM-745, LCM-741
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Currently its not possible to customize LCM SDK for our LCM container CI
QA purposes, so lets provide ImageBuilder containers which can be used
for the same purposes.
References: LCM-737, LCM-745, LCM-741
Signed-off-by: Petr Štetiar <ynezz@true.cz>
We're going to provide ImageBuilder containers as well, so lets extend
current SDK stage with ImageBuilder.
References: LCM-737
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Once prplos-v* tag is created, gather build artifacts, upload them to
generic packages and create a release.
Closes: PCF-800
Signed-off-by: Petr Štetiar <ynezz@true.cz>
It seems, that there are some remaining issues to be fixed in ambiorix
stack on aarch64 as `ubus-cli` is currently crashing heavily and thus
prevents the CI QA. So lets workaround that by disabling the security
profile and enable it again once the issues are fixed.
References: PCF-967
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Add security compiler options.
- Enable the hardened-ld-pie.specs and -fPIC CFLAG (48f2de33d3/include/hardened-ld-pie.specs):
CONFIG_BUSYBOX_DEFAULT_PIE=y
CONFIG_PKG_ASLR_PIE_ALL=y
- Add -fstack-protector-strong to CFLAGS:
CONFIG_PKG_CC_STACKPROTECTOR_STRONG=y
CONFIG_KERNEL_CC_STACKPROTECTOR_STRONG=y
- Add -D_FORTIFY_SOURCE=2 to CFLAGS:
CONFIG_PKG_FORTIFY_SOURCE_2=y
- Add the -fPIE option to gcc:
CONFIG_TOOLCHAINOPTS=y
CONFIG_GCC_DEFAULT_PIE=y
Add the same time enable this by default for the CI builds
References: PCF-880
Signed-off-by: Matthias FRANCK <matthias.franck_ext@softathome.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [rebased]
Import URX851 support for runtime testing from private prplos-urx851
project, so we can extend public QA process using those devices as well.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Add builds for URX851 targets using very restricted environment to suit
NDA restrictions:
* using dedicated restricted builders
* no internet access during builds
* no build artifacts after builds
* using known container image for builds, its forced and can't be changed
* approval is needed to allow build in the merge request
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Historically prplOS web user interface was based on uhttpd/LuCI so it
made sense to keep this feature in separate webui.yml profile, but
nowadays the same feature is provided by single `prpl-webui` package and
thus it doesn't make sense anymore to maintain separate profile for that
package, so lets simply move `prpl-webui` package into prpl.yml profile.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Use latest labgrid with following fixes and additions:
* modbus: allow exclusive management of a single coil
* shelldriver: make run wrapper injecting more reliable
* shelldriver: make kernel silencing more reliable
* shelldriver: fix missing kernel silencing on passwordless consoles
* shelldriver: make post_login_settle_time generally available
* ubootdriver: allow handling of console output decoding errors
* ubootdriver: use codec and decodeerrors args for decoding
* smallubootdriver: use codec and decodeerrors args for decoding
* ubootdriver: add possibility to delay boot_command execution
* ubootdriver: add possibility to extend init commands timeout
Mainly doing that in a hope, that it should hopefully improve DUT
bringup at least for Turris Omnia and URX851 reference targets.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
There is no plan to use those as reference targets, so lets don't spend
time on those and remove them from the ci.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Sync CI bits with the current state in prplos branch on commit
9af7fff65169 ("ci: fix build Docker image sdk-x86-64 job").
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Remove testing on intel_mips target as this one is probably going to be
replaced by newer target in the testbed soon anyway.
Signed-off-by: Petr Štetiar <ynezz@true.cz>