@@ -620,6 +620,16 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
620620 legacy_loongarch = [b for b in conf_wip_boards if b ['branch' ] == 'legacy' and b ['is_fast' ] == 'loongarch' ]
621621 legacy_headless = [b for b in conf_wip_boards if b ['branch' ] == 'legacy' and b ['is_fast' ] is None ]
622622
623+ # Build set of boards that have current branch (to exclude from edge)
624+ current_boards = {b ['board' ] for b in conf_wip_boards if b ['branch' ] == 'current' }
625+
626+ # Only include edge boards for boards that don't have current branch
627+ edge_fast = [b for b in conf_wip_boards if b ['branch' ] == 'edge' and b ['is_fast' ] is True and b ['board' ] not in current_boards ]
628+ edge_slow = [b for b in conf_wip_boards if b ['branch' ] == 'edge' and b ['is_fast' ] is False and b ['board' ] not in current_boards ]
629+ edge_riscv64 = [b for b in conf_wip_boards if b ['branch' ] == 'edge' and b ['is_fast' ] == 'riscv64' and b ['board' ] not in current_boards ]
630+ edge_loongarch = [b for b in conf_wip_boards if b ['branch' ] == 'edge' and b ['is_fast' ] == 'loongarch' and b ['board' ] not in current_boards ]
631+ edge_headless = [b for b in conf_wip_boards if b ['branch' ] == 'edge' and b ['is_fast' ] is None and b ['board' ] not in current_boards ]
632+
623633 # Current branch lists
624634 yaml += """# Stable builds - fast HDMI (quad-core+ or modern SoCs)
625635 stable-current-fast-hdmi: &stable-current-fast-hdmi
@@ -729,6 +739,42 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
729739 yaml += format_board_item (board_data , include_extensions = True ) + '\n '
730740 yaml += ' # end of auto generated section\n \n '
731741
742+ # Edge branch lists
743+ if edge_fast :
744+ yaml += ' stable-edge-fast-hdmi: &stable-edge-fast-hdmi\n '
745+ yaml += ' # auto generated section\n '
746+ for board_data in sorted (edge_fast , key = lambda x : x ['board' ]):
747+ yaml += format_board_item (board_data , include_extensions = True ) + '\n '
748+ yaml += ' # end of auto generated section\n \n '
749+
750+ if edge_slow :
751+ yaml += ' stable-edge-slow-hdmi: &stable-edge-slow-hdmi\n '
752+ yaml += ' # auto generated section\n '
753+ for board_data in sorted (edge_slow , key = lambda x : x ['board' ]):
754+ yaml += format_board_item (board_data , include_extensions = True ) + '\n '
755+ yaml += ' # end of auto generated section\n \n '
756+
757+ if edge_riscv64 :
758+ yaml += ' stable-edge-riscv64: &stable-edge-riscv64\n '
759+ yaml += ' # auto generated section\n '
760+ for board_data in sorted (edge_riscv64 , key = lambda x : x ['board' ]):
761+ yaml += format_board_item (board_data , include_extensions = True ) + '\n '
762+ yaml += ' # end of auto generated section\n \n '
763+
764+ if edge_loongarch :
765+ yaml += ' stable-edge-loongarch: &stable-edge-loongarch\n '
766+ yaml += ' # auto generated section\n '
767+ for board_data in sorted (edge_loongarch , key = lambda x : x ['board' ]):
768+ yaml += format_board_item (board_data , include_extensions = True ) + '\n '
769+ yaml += ' # end of auto generated section\n \n '
770+
771+ if edge_headless :
772+ yaml += ' stable-edge-headless: &stable-edge-headless\n '
773+ yaml += ' # auto generated section\n '
774+ for board_data in sorted (edge_headless , key = lambda x : x ['board' ]):
775+ yaml += format_board_item (board_data , include_extensions = True ) + '\n '
776+ yaml += ' # end of auto generated section\n \n '
777+
732778 yaml += """# automated lists stop
733779
734780targets:
@@ -774,6 +820,16 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
774820 yaml += ' - *stable-legacy-loongarch\n '
775821 if legacy_headless :
776822 yaml += ' - *stable-legacy-headless\n '
823+ if edge_fast :
824+ yaml += ' - *stable-edge-fast-hdmi\n '
825+ if edge_slow :
826+ yaml += ' - *stable-edge-slow-hdmi\n '
827+ if edge_riscv64 :
828+ yaml += ' - *stable-edge-riscv64\n '
829+ if edge_loongarch :
830+ yaml += ' - *stable-edge-loongarch\n '
831+ if edge_headless :
832+ yaml += ' - *stable-edge-headless\n '
777833
778834 yaml += """
779835 # Ubuntu stable minimal
@@ -818,9 +874,19 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
818874 yaml += ' - *stable-legacy-loongarch\n '
819875 if legacy_headless :
820876 yaml += ' - *stable-legacy-headless\n '
877+ if edge_fast :
878+ yaml += ' - *stable-edge-fast-hdmi\n '
879+ if edge_slow :
880+ yaml += ' - *stable-edge-slow-hdmi\n '
881+ if edge_riscv64 :
882+ yaml += ' - *stable-edge-riscv64\n '
883+ if edge_loongarch :
884+ yaml += ' - *stable-edge-loongarch\n '
885+ if edge_headless :
886+ yaml += ' - *stable-edge-headless\n '
821887
822888 # Ubuntu stable XFCE desktop (slow HDMI only)
823- if current_slow :
889+ if current_slow or edge_slow :
824890 yaml += """
825891 # Ubuntu stable XFCE desktop (slow HDMI only)
826892 desktop-stable-ubuntu-xfce:
@@ -841,9 +907,11 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
841907"""
842908 if vendor_slow :
843909 yaml += ' - *stable-vendor-slow-hdmi\n '
910+ if edge_slow :
911+ yaml += ' - *stable-edge-slow-hdmi\n '
844912
845913 # Ubuntu stable GNOME desktop (fast HDMI only)
846- if current_fast or legacy_fast :
914+ if current_fast or legacy_fast or edge_fast :
847915 yaml += """
848916 # Ubuntu stable GNOME desktop (fast HDMI only)
849917 desktop-stable-ubuntu-gnome:
@@ -867,9 +935,11 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
867935 yaml += ' - *stable-vendor-fast-hdmi\n '
868936 if legacy_fast :
869937 yaml += ' - *stable-legacy-fast-hdmi\n '
938+ if edge_fast :
939+ yaml += ' - *stable-edge-fast-hdmi\n '
870940
871941 # Ubuntu stable KDE Neon desktop (fast HDMI only)
872- if current_fast :
942+ if current_fast or edge_fast :
873943 yaml += """
874944 # Ubuntu stable KDE Neon desktop (fast HDMI only)
875945 desktop-stable-ubuntu-kde-neon:
@@ -890,6 +960,8 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
890960"""
891961 if vendor_fast :
892962 yaml += ' - *stable-vendor-fast-hdmi\n '
963+ if edge_fast :
964+ yaml += ' - *stable-edge-fast-hdmi\n '
893965
894966 # Ubuntu stable XFCE desktop for legacy fast HDMI boards
895967 if legacy_fast :
@@ -913,7 +985,7 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
913985"""
914986
915987 # Ubuntu stable XFCE desktop for RISC-V boards
916- if current_riscv64 or vendor_riscv64 :
988+ if current_riscv64 or vendor_riscv64 or edge_riscv64 :
917989 yaml += """
918990 # Ubuntu stable XFCE desktop for RISC-V boards
919991 desktop-stable-ubuntu-riscv64-xfce:
@@ -935,14 +1007,16 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
9351007 yaml += ' - *stable-current-riscv64\n '
9361008 if vendor_riscv64 :
9371009 yaml += ' - *stable-vendor-riscv64\n '
1010+ if edge_riscv64 :
1011+ yaml += ' - *stable-edge-riscv64\n '
9381012
9391013 if manual_content :
9401014 # Indent manual content by 2 spaces to be under targets:
9411015 indented_manual = '\n ' .join (' ' + line if line .strip () else line for line in manual_content .split ('\n ' ))
9421016 yaml += '\n ' + indented_manual
9431017
9441018 # Add riscv64 minimal target if any riscv64 boards exist
945- if current_riscv64 or vendor_riscv64 :
1019+ if current_riscv64 or vendor_riscv64 or edge_riscv64 :
9461020 yaml += """
9471021 # Ubuntu stable minimal - RISC-V
9481022 minimal-stable-ubuntu-riscv:
@@ -961,10 +1035,12 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
9611035 yaml += ' - *stable-current-riscv64\n '
9621036 if vendor_riscv64 :
9631037 yaml += ' - *stable-vendor-riscv64\n '
1038+ if edge_riscv64 :
1039+ yaml += ' - *stable-edge-riscv64\n '
9641040 yaml += '\n '
9651041
9661042 # Add loongarch target if any loongarch boards exist
967- if current_loongarch or vendor_loongarch :
1043+ if current_loongarch or vendor_loongarch or edge_loongarch :
9681044 yaml += """
9691045 # Ubuntu stable minimal - LoongArch
9701046 minimal-stable-ubuntu-loongarch:
@@ -983,6 +1059,8 @@ def generate_stable_yaml(conf_wip_boards, manual_content=""):
9831059 yaml += ' - *stable-current-loongarch\n '
9841060 if vendor_loongarch :
9851061 yaml += ' - *stable-vendor-loongarch\n '
1062+ if edge_loongarch :
1063+ yaml += ' - *stable-edge-loongarch\n '
9861064 yaml += '\n '
9871065
9881066 return yaml
0 commit comments