The OSPv2 ext4 rootfs is the payload that update_script.itb flashes over the U-Boot netboot/recovery flow, i.e. the direct analog of the Freedom kernel.itb/rootfs.itb already carried in that device's bootstack. Ship it the same way: fold each step's ext4 image into its per-step bootstack tarball and drop the standalone upload and asset link. This also makes the A-Step and B-Step bootstacks self-contained per-step flash kits instead of the byte-identical archives they were before. Assisted-by: claude:opus-4-8:1m-context Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
190 lines
12 KiB
YAML
190 lines
12 KiB
YAML
variables:
|
|
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic"
|
|
|
|
upload:
|
|
stage: release
|
|
image: curlimages/curl:8.4.0
|
|
|
|
needs:
|
|
- job: build test ipq807x prpl security
|
|
- job: build test mvebu prpl security
|
|
- job: build test x86_64 prpl security
|
|
- 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]+.*$/'
|
|
|
|
script:
|
|
- prplware_version=$(echo "$CI_COMMIT_TAG" | sed 's/^prplware-v//')
|
|
|
|
# mvebu
|
|
- |
|
|
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
|
--upload-file bin/targets/mvebu/cortexa9/prplos-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin \
|
|
${PACKAGE_REGISTRY_URL}/turris-omnia/${prplware_version}/prplos-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin
|
|
|
|
- |
|
|
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
|
--upload-file bin/targets/mvebu/cortexa9/prplos-mvebu-cortexa9-cznic_turris-omnia-squashfs-sysupgrade.img.gz \
|
|
${PACKAGE_REGISTRY_URL}/turris-omnia/${prplware_version}/prplos-mvebu-cortexa9-cznic_turris-omnia-squashfs-sysupgrade.img.gz
|
|
|
|
# x86
|
|
- |
|
|
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
|
--upload-file bin/targets/x86/64/prplos-x86-64-generic-initramfs-kernel.bin \
|
|
${PACKAGE_REGISTRY_URL}/x86-64/${prplware_version}/prplos-x86-64-generic-initramfs-kernel.bin
|
|
|
|
- |
|
|
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
|
--upload-file bin/targets/x86/64/prplos-x86-64-generic-squashfs-combined-efi.img \
|
|
${PACKAGE_REGISTRY_URL}/x86-64/${prplware_version}/prplos-x86-64-generic-squashfs-combined-efi.img
|
|
|
|
# ipq807x
|
|
- |
|
|
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
|
--upload-file bin/targets/qualcommax/ipq807x/prplos-qualcommax-ipq807x-prpl_haze-initramfs-uImage.itb \
|
|
${PACKAGE_REGISTRY_URL}/prpl-haze/${prplware_version}/prplos-qualcommax-ipq807x-prpl_haze-initramfs-uImage.itb
|
|
|
|
- |
|
|
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
|
--upload-file bin/targets/qualcommax/ipq807x/prplos-qualcommax-ipq807x-prpl_haze-squashfs-sysupgrade.bin \
|
|
${PACKAGE_REGISTRY_URL}/prpl-haze/${prplware_version}/prplos-qualcommax-ipq807x-prpl_haze-squashfs-sysupgrade.bin
|
|
|
|
# ospv2 A-Step
|
|
- |
|
|
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
|
--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
|
|
|
|
- |
|
|
# bootstack: both DDR variants (u-boot/SPL) + .itb boot script + ext4 rootfs
|
|
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 \
|
|
prplos-intel_x86-lgm-PRPL_OSP_v2-tb341_wav700-ext4.img
|
|
|
|
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/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
|
|
|
|
- |
|
|
# bootstack: both DDR variants (u-boot/SPL) + .itb boot script + ext4 rootfs
|
|
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 \
|
|
prplos-intel_x86-lgm-PRPL_OSP_v2-wgrtd159be_b_wav700-ext4.img
|
|
|
|
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
|
|
|
|
- |
|
|
# 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}" \
|
|
--upload-file bin/targets/mediatek/filogic/prplos-mediatek-filogic-arcadyan_mozart-initramfs.itb \
|
|
${PACKAGE_REGISTRY_URL}/arcadyan-mozart/${prplware_version}/prplos-mediatek-filogic-arcadyan_mozart-initramfs.itb
|
|
|
|
- |
|
|
tar -C bin/targets/mediatek/filogic/ \
|
|
-czf /tmp/prplos-mediatek-filogic-arcadyan_mozart-emmc-bootstack.tar.gz \
|
|
prplos-mediatek-filogic-arcadyan_mozart-emmc-bl31-uboot.fip \
|
|
prplos-mediatek-filogic-arcadyan_mozart-emmc-gpt.bin \
|
|
prplos-mediatek-filogic-arcadyan_mozart-emmc-preloader.bin
|
|
|
|
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
|
--upload-file /tmp/prplos-mediatek-filogic-arcadyan_mozart-emmc-bootstack.tar.gz \
|
|
${PACKAGE_REGISTRY_URL}/arcadyan-mozart/${prplware_version}/prplos-mediatek-filogic-arcadyan_mozart-emmc-bootstack.tar.gz
|
|
|
|
- |
|
|
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
|
--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
|
|
|
|
image: registry.gitlab.com/gitlab-org/release-cli:v0.16.0
|
|
needs: ["upload"]
|
|
|
|
rules:
|
|
- if: '$CI_COMMIT_TAG =~ /^prplware-v[0-9]+\.[0-9]+\.[0-9]+.*$/'
|
|
|
|
script:
|
|
- prplware_version=$(echo "$CI_COMMIT_TAG" | sed 's/^prplware-v//')
|
|
- echo "Creating prplWare release $prplware_version"
|
|
|
|
- |
|
|
release-cli create --name "prplWare release $prplware_version" --tag-name $CI_COMMIT_TAG \
|
|
--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 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 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\"}" \
|
|
--assets-link "{\"name\":\"prpl Haze sysupgrade\",\"url\":\"${PACKAGE_REGISTRY_URL}/prpl-haze/${prplware_version}/prplos-qualcommax-ipq807x-prpl_haze-squashfs-sysupgrade.bin\"}" \
|
|
--assets-link "{\"name\":\"prpl Haze initramfs\",\"url\":\"${PACKAGE_REGISTRY_URL}/prpl-haze/${prplware_version}/prplos-qualcommax-ipq807x-prpl_haze-initramfs-uImage.itb\"}" \
|
|
--assets-link "{\"name\":\"Turris Omnia sysupgrade\",\"url\":\"${PACKAGE_REGISTRY_URL}/turris-omnia/${prplware_version}/prplos-mvebu-cortexa9-cznic_turris-omnia-squashfs-sysupgrade.img.gz\"}" \
|
|
--assets-link "{\"name\":\"Turris Omnia initramfs\",\"url\":\"${PACKAGE_REGISTRY_URL}/turris-omnia/${prplware_version}/prplos-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin\"}" \
|
|
--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\"}"
|