Commit Graph

70 Commits

Author SHA1 Message Date
Petr Štetiar
980b2358d1
PROVISORY: ci: haze: use prpl-haze-emmc with sysupgrade image
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>
2025-07-31 10:35:12 +00:00
Petr Štetiar
8c1789b12f
Revert "Revert "PROVISORY: ci: ipq807x: disable usage of security profile""
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>
2025-07-31 10:34:51 +00:00
Petr Štetiar
c3410c763a
ci: docker: provide ImageBuilder based LCM testing containers
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>
2025-07-31 10:34:34 +00:00
Petr Štetiar
9f6d6d8114
ci: docker: provide ImageBuilder containers
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>
2025-07-31 10:34:33 +00:00
Petr Štetiar
2b98336a4f
ci: build: provide ImageBuilder by default
We're going to provide ImageBuilder containers, so enable them during
builds.

References: LCM-737
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:34:32 +00:00
Petr Štetiar
c88fd09ebe
ci: extend SDK stage with ImageBuilder
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>
2025-07-31 10:34:31 +00:00
Petr Štetiar
0c9dc6cb45
ci: implement automated prplOS release process
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>
2025-07-31 10:34:20 +00:00
Petr Štetiar
d264d96f7d
ci: switch from prplos-next branch to prplos branch
We've moved development from prplos-next into prplos.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:33:59 +00:00
Petr Štetiar
b501a1b346
PROVISORY: ci: ipq807x: disable usage of security profile
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>
2025-07-31 10:33:55 +00:00
Matthias FRANCK
de35c3c7d4
profiles: security: Add the security profile
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]
2025-07-31 10:33:34 +00:00
Petr Štetiar
4cc234058e
ci: import bits for URX851 runtime testing
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>
2025-07-31 10:33:20 +00:00
Petr Štetiar
490ea268e2
ci: build: enable builds for URX851 targets
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>
2025-07-31 10:33:19 +00:00
Petr Štetiar
7293304845
profiles,ci: sunset webui profile
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>
2025-07-31 10:33:15 +00:00
Petr Štetiar
8a42e20b2a
ci: add prpl Foundation Haze board
So we can start using it during development and QA processes.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:33:09 +00:00
Petr Štetiar
f2f595d089
ci: testbed: labgrid: use latest labgrid wip/testbed-next 2023-01-30
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>
2025-07-31 10:33:08 +00:00
Petr Štetiar
3c4f6ca781
ci: sunset support for glinet-b1300 and nec-wx3000hp
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>
2025-07-31 10:32:53 +00:00
Petr Štetiar
c6daa92b26
ci: sync with current prplos branch state
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>
2025-07-31 10:31:53 +00:00
Petr Štetiar
8016b3a894
ci: focus only on turris-omnia and glinet-b1300 devices
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>
2025-07-31 10:31:17 +00:00
Petr Štetiar
e4ea36739d
ci: change designated branch to prplos-next
So we don't interfere with current production build and testing containers etc.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:31:15 +00:00
Petr Štetiar
cbead58ac4
ci: copy over files from prplOS v1.5 release
In order to have QA in place.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2025-07-31 10:31:14 +00:00