From 189774a58ea4245103b08d31874284ee64771f43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Thu, 2 Jul 2026 10:39:50 +0200 Subject: [PATCH] ci: release: add Valyrian, switch OSPv2/Freedom to SWU + bootstacks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit prplWare 5.1.0 adds the Nokia Valyrian (airoha/an7581) device and moves OSPv2 and Freedom to swupdate-based delivery. The build no longer emits the previously published files, so the upload job would fail on the tag: OSPv2: single-images/*_fullimage.fit -> *-image.swu (+ *-ext4.img) Freedom: *-initramfs-uImage.itb -> *-image.swu Publish the new artifacts, mirroring the existing Mozart bootstack idiom: - Nokia Valyrian: initramfs, sysupgrade and an eMMC bootstack tarball (bl31-uboot.fip + preloader.bin), package nokia-valyrian - OSPv2 A/B-Step: per-step SWU image, ext4 rootfs and a bootstack tarball (both URX641 DDR U-Boot/SPL variants + update_script.itb) - WNC Freedom: SWU image and a bootstack tarball (U-Boot, .itb boot script and the kernel/rootfs netboot payload) Filenames verified against the prplWare 5.1.0 pre-test builds in pipeline 2644956474. Assisted-by: claude:opus-4-8:1m-context Signed-off-by: Petr Štetiar --- .gitlab/release.yml | 98 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 88 insertions(+), 10 deletions(-) diff --git a/.gitlab/release.yml b/.gitlab/release.yml index d30de626d3..e95041f660 100644 --- a/.gitlab/release.yml +++ b/.gitlab/release.yml @@ -12,6 +12,7 @@ upload: - job: build test qca_ipq95xx prpl cellular security thread - job: build test mtk_filogic prpl security - job: build test mxl_x86_osp_tb341_v2 mxl_wlan_hostap_ng_wav700 prpl cellular security thread + - job: build test airoha_an7581 prpl security rules: - if: '$CI_COMMIT_TAG =~ /^prplware-v[0-9]+\.[0-9]+\.[0-9]+.*$/' @@ -55,26 +56,74 @@ upload: # ospv2 A-Step - | curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ - --upload-file bin/targets/intel_x86/lgm/single-images/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700_fullimage.fit \ - ${PACKAGE_REGISTRY_URL}/gemtek-ospv2/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700_fullimage.fit + --upload-file bin/targets/intel_x86/lgm/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-image.swu \ + ${PACKAGE_REGISTRY_URL}/gemtek-ospv2/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-image.swu + + - | + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --upload-file bin/targets/intel_x86/lgm/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-ext4.img \ + ${PACKAGE_REGISTRY_URL}/gemtek-ospv2/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-ext4.img + + - | + # bootstack: both DDR variants (u-boot/SPL) + shared .itb boot script + tar -czf /tmp/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-bootstack.tar.gz \ + -C bin/targets/intel_x86/lgm \ + uboot-octopus-urx641-4GB-ddr-overlay-fit-p34x-phy-emmc-prpl \ + uboot-octopus-urx641-overlay-fit-p34x-phy-emmc-prpl \ + prplos-intel_x86-lgm-PRPL_OSP_v2-update_script.itb + + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --upload-file /tmp/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-bootstack.tar.gz \ + ${PACKAGE_REGISTRY_URL}/gemtek-ospv2/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-bootstack.tar.gz # ospv2 B-Step - | curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ - --upload-file bin/targets/intel_x86/lgm/single-images/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700_fullimage.fit \ - ${PACKAGE_REGISTRY_URL}/gemtek-ospv2-b/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700_fullimage.fit + --upload-file bin/targets/intel_x86/lgm/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-image.swu \ + ${PACKAGE_REGISTRY_URL}/gemtek-ospv2-b/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-image.swu - # qca_ipq95xx - | curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ - --upload-file bin/targets/ipq95xx/generic/prplos-ipq95xx-generic-prpl_freedom-initramfs-uImage.itb \ - ${PACKAGE_REGISTRY_URL}/wnc-freedom/${prplware_version}/prplos-ipq95xx-generic-prpl_freedom-initramfs-uImage.itb + --upload-file bin/targets/intel_x86/lgm/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-ext4.img \ + ${PACKAGE_REGISTRY_URL}/gemtek-ospv2-b/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-ext4.img + + - | + # bootstack: both DDR variants (u-boot/SPL) + shared .itb boot script + tar -czf /tmp/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-bootstack.tar.gz \ + -C bin/targets/intel_x86/lgm \ + uboot-octopus-urx641-4GB-ddr-overlay-fit-p34x-phy-emmc-prpl \ + uboot-octopus-urx641-overlay-fit-p34x-phy-emmc-prpl \ + prplos-intel_x86-lgm-PRPL_OSP_v2-update_script.itb + + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --upload-file /tmp/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-bootstack.tar.gz \ + ${PACKAGE_REGISTRY_URL}/gemtek-ospv2-b/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-bootstack.tar.gz + + # qca_ipq95xx (WNC Freedom) + - | + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --upload-file bin/targets/ipq95xx/generic/prplos-ipq95xx-generic-prpl_freedom-image.swu \ + ${PACKAGE_REGISTRY_URL}/wnc-freedom/${prplware_version}/prplos-ipq95xx-generic-prpl_freedom-image.swu - | curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ --upload-file bin/targets/ipq95xx/generic/prplos-ipq95xx-generic-prpl_freedom-squashfs-sysupgrade.bin \ ${PACKAGE_REGISTRY_URL}/wnc-freedom/${prplware_version}/prplos-ipq95xx-generic-prpl_freedom-squashfs-sysupgrade.bin + - | + # bootstack: U-Boot + .itb boot script + netboot payload (kernel/rootfs) + tar -C bin/targets/ipq95xx/generic/ \ + -czf /tmp/prplos-ipq95xx-generic-prpl_freedom-bootstack.tar.gz \ + prplos-ipq95xx-generic-prpl_freedom-u-boot.itb \ + prplos-ipq95xx-generic-prpl_freedom-update_script.itb \ + prplos-ipq95xx-generic-prpl_freedom-kernel.itb \ + prplos-ipq95xx-generic-prpl_freedom-rootfs.itb \ + openwrt-ipq9574-generic-u-boot.elfmbn + + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --upload-file /tmp/prplos-ipq95xx-generic-prpl_freedom-bootstack.tar.gz \ + ${PACKAGE_REGISTRY_URL}/wnc-freedom/${prplware_version}/prplos-ipq95xx-generic-prpl_freedom-bootstack.tar.gz + # mtk_filogic - | curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ @@ -97,6 +146,27 @@ upload: --upload-file bin/targets/mediatek/filogic/prplos-mediatek-filogic-arcadyan_mozart-squashfs-sysupgrade.itb \ ${PACKAGE_REGISTRY_URL}/arcadyan-mozart/${prplware_version}/prplos-mediatek-filogic-arcadyan_mozart-squashfs-sysupgrade.itb + # airoha_an7581 (Nokia Valyrian) + - | + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --upload-file bin/targets/airoha/an7581/prplos-airoha-an7581-nokia_valyrian-initramfs-kernel.bin \ + ${PACKAGE_REGISTRY_URL}/nokia-valyrian/${prplware_version}/prplos-airoha-an7581-nokia_valyrian-initramfs-kernel.bin + + - | + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --upload-file bin/targets/airoha/an7581/prplos-airoha-an7581-nokia_valyrian-squashfs-sysupgrade.bin \ + ${PACKAGE_REGISTRY_URL}/nokia-valyrian/${prplware_version}/prplos-airoha-an7581-nokia_valyrian-squashfs-sysupgrade.bin + + - | + tar -C bin/targets/airoha/an7581/ \ + -czf /tmp/prplos-airoha-an7581-nokia_valyrian-bootstack.tar.gz \ + prplos-airoha-an7581-nokia_valyrian-bl31-uboot.fip \ + prplos-airoha-an7581-nokia_valyrian-preloader.bin + + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --upload-file /tmp/prplos-airoha-an7581-nokia_valyrian-bootstack.tar.gz \ + ${PACKAGE_REGISTRY_URL}/nokia-valyrian/${prplware_version}/prplos-airoha-an7581-nokia_valyrian-bootstack.tar.gz + release: stage: release @@ -112,8 +182,12 @@ release: - | release-cli create --name "prplWare release $prplware_version" --tag-name $CI_COMMIT_TAG \ - --assets-link "{\"name\":\"MaxLinear/Gemtek OSPv2 A-Step single-image\",\"url\":\"${PACKAGE_REGISTRY_URL}/gemtek-ospv2/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700_fullimage.fit\"}" \ - --assets-link "{\"name\":\"MaxLinear/Gemtek OSPv2 B-Step single-image\",\"url\":\"${PACKAGE_REGISTRY_URL}/gemtek-ospv2-b/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700_fullimage.fit\"}" \ + --assets-link "{\"name\":\"MaxLinear/Gemtek OSPv2 A-Step SWU update image\",\"url\":\"${PACKAGE_REGISTRY_URL}/gemtek-ospv2/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-image.swu\"}" \ + --assets-link "{\"name\":\"MaxLinear/Gemtek OSPv2 A-Step ext4 image\",\"url\":\"${PACKAGE_REGISTRY_URL}/gemtek-ospv2/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-ext4.img\"}" \ + --assets-link "{\"name\":\"MaxLinear/Gemtek OSPv2 A-Step bootstack\",\"url\":\"${PACKAGE_REGISTRY_URL}/gemtek-ospv2/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-bootstack.tar.gz\"}" \ + --assets-link "{\"name\":\"MaxLinear/Gemtek OSPv2 B-Step SWU update image\",\"url\":\"${PACKAGE_REGISTRY_URL}/gemtek-ospv2-b/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-image.swu\"}" \ + --assets-link "{\"name\":\"MaxLinear/Gemtek OSPv2 B-Step ext4 image\",\"url\":\"${PACKAGE_REGISTRY_URL}/gemtek-ospv2-b/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-ext4.img\"}" \ + --assets-link "{\"name\":\"MaxLinear/Gemtek OSPv2 B-Step bootstack\",\"url\":\"${PACKAGE_REGISTRY_URL}/gemtek-ospv2-b/${prplware_version}/prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-bootstack.tar.gz\"}" \ --assets-link "{\"name\":\"MediaTek/Arcadyan Mozart bootstack\",\"url\":\"${PACKAGE_REGISTRY_URL}/arcadyan-mozart/${prplware_version}/prplos-mediatek-filogic-arcadyan_mozart-emmc-bootstack.tar.gz\"}" \ --assets-link "{\"name\":\"MediaTek/Arcadyan Mozart sysupgrade\",\"url\":\"${PACKAGE_REGISTRY_URL}/arcadyan-mozart/${prplware_version}/prplos-mediatek-filogic-arcadyan_mozart-squashfs-sysupgrade.itb\"}" \ --assets-link "{\"name\":\"MediaTek/Arcadyan Mozart initramfs\",\"url\":\"${PACKAGE_REGISTRY_URL}/arcadyan-mozart/${prplware_version}/prplos-mediatek-filogic-arcadyan_mozart-initramfs.itb\"}" \ @@ -122,6 +196,10 @@ release: --assets-link "{\"name\":\"Turris Omnia sysupgrade\",\"url\":\"${PACKAGE_REGISTRY_URL}/turris-omnia/${prplware_version}/prplos-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin\"}" \ --assets-link "{\"name\":\"Turris Omnia initramfs\",\"url\":\"${PACKAGE_REGISTRY_URL}/turris-omnia/${prplware_version}/prplos-mvebu-cortexa9-cznic_turris-omnia-sysupgrade.img.gz\"}" \ --assets-link "{\"name\":\"Qualcomm/WNC Freedom sysupgrade\",\"url\":\"${PACKAGE_REGISTRY_URL}/wnc-freedom/${prplware_version}/prplos-ipq95xx-generic-prpl_freedom-squashfs-sysupgrade.bin\"}" \ - --assets-link "{\"name\":\"Qualcomm/WNC Freedom initramfs\",\"url\":\"${PACKAGE_REGISTRY_URL}/wnc-freedom/${prplware_version}/prplos-ipq95xx-generic-prpl_freedom-initramfs-uImage.itb\"}" \ + --assets-link "{\"name\":\"Qualcomm/WNC Freedom SWU update image\",\"url\":\"${PACKAGE_REGISTRY_URL}/wnc-freedom/${prplware_version}/prplos-ipq95xx-generic-prpl_freedom-image.swu\"}" \ + --assets-link "{\"name\":\"Qualcomm/WNC Freedom bootstack\",\"url\":\"${PACKAGE_REGISTRY_URL}/wnc-freedom/${prplware_version}/prplos-ipq95xx-generic-prpl_freedom-bootstack.tar.gz\"}" \ + --assets-link "{\"name\":\"Airoha/Nokia Valyrian sysupgrade\",\"url\":\"${PACKAGE_REGISTRY_URL}/nokia-valyrian/${prplware_version}/prplos-airoha-an7581-nokia_valyrian-squashfs-sysupgrade.bin\"}" \ + --assets-link "{\"name\":\"Airoha/Nokia Valyrian initramfs\",\"url\":\"${PACKAGE_REGISTRY_URL}/nokia-valyrian/${prplware_version}/prplos-airoha-an7581-nokia_valyrian-initramfs-kernel.bin\"}" \ + --assets-link "{\"name\":\"Airoha/Nokia Valyrian bootstack\",\"url\":\"${PACKAGE_REGISTRY_URL}/nokia-valyrian/${prplware_version}/prplos-airoha-an7581-nokia_valyrian-bootstack.tar.gz\"}" \ --assets-link "{\"name\":\"x86/64 sysupgrade\",\"url\":\"${PACKAGE_REGISTRY_URL}/x86-64/${prplware_version}/prplos-x86-64-generic-squashfs-combined-efi.img\"}" \ --assets-link "{\"name\":\"x86/64 initramfs\",\"url\":\"${PACKAGE_REGISTRY_URL}/x86-64/${prplware_version}/prplos-x86-64-generic-initramfs-kernel.bin\"}"