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\"}"