@@ -277,7 +277,15 @@ type distro =
277277 | `V38 ]
278278 | `OracleLinux of [ `V7 | `V8 | `V9 ]
279279 | `OpenSUSE of
280- [ `V42_1 | `V42_2 | `V42_3 | `V15_0 | `V15_1 | `V15_2 | `V15_3 | `V15_4 ]
280+ [ `V42_1
281+ | `V42_2
282+ | `V42_3
283+ | `V15_0
284+ | `V15_1
285+ | `V15_2
286+ | `V15_3
287+ | `V15_4
288+ | `Tumbleweed ]
281289 | `Ubuntu of
282290 [ `V12_04
283291 | `V14_04
@@ -354,6 +362,7 @@ type t =
354362 | `V15_2
355363 | `V15_3
356364 | `V15_4
365+ | `Tumbleweed
357366 | `Latest ]
358367 | `Ubuntu of
359368 [ `V12_04
@@ -475,6 +484,7 @@ let distros : t list =
475484 `OpenSUSE `V15_2 ;
476485 `OpenSUSE `V15_3 ;
477486 `OpenSUSE `V15_4 ;
487+ `OpenSUSE `Tumbleweed ;
478488 `OpenSUSE `Latest ;
479489 `Ubuntu `V12_04 ;
480490 `Ubuntu `V14_04 ;
@@ -596,7 +606,8 @@ let resolve_alias (d : t) : distro =
596606 | `V31 | `V32 | `V33 | `V34 | `V35 | `V36 | `V37 | `V38 )
597607 | `OracleLinux (`V7 | `V8 | `V9 )
598608 | `OpenSUSE
599- (`V42_1 | `V42_2 | `V42_3 | `V15_0 | `V15_1 | `V15_2 | `V15_3 | `V15_4 )
609+ ( `V42_1 | `V42_2 | `V42_3 | `V15_0 | `V15_1 | `V15_2 | `V15_3 | `V15_4
610+ | `Tumbleweed )
600611 | `Ubuntu
601612 ( `V12_04 | `V14_04 | `V15_04 | `V15_10 | `V16_04 | `V16_10 | `V17_04
602613 | `V17_10 | `V18_04 | `V18_10 | `V19_04 | `V19_10 | `V20_04 | `V20_10
@@ -640,6 +651,7 @@ let distro_status (d : t) : status =
640651 ->
641652 `Deprecated
642653 | `OpenSUSE `V15_4 -> `Active `Tier2
654+ | `OpenSUSE `Tumbleweed -> `Active `Tier2
643655 | `Ubuntu `V18_04 -> `Active `Tier3
644656 | `Ubuntu (`V20_04 | `V22_04 | `V22_10 | `V23_04 ) -> `Active `Tier2
645657 | `Ubuntu
@@ -658,6 +670,7 @@ let latest_distros =
658670 `Debian `Stable ;
659671 `OracleLinux `Latest ;
660672 `OpenSUSE `Latest ;
673+ `OpenSUSE `Tumbleweed ;
661674 `Fedora `Latest ;
662675 `Ubuntu `Latest ;
663676 `Ubuntu `LTS ;
@@ -816,6 +829,7 @@ let builtin_ocaml_of_distro (d : t) : string option =
816829 | `OpenSUSE `V15_2 -> Some " 4.05.0"
817830 | `OpenSUSE `V15_3 -> Some " 4.05.0"
818831 | `OpenSUSE `V15_4 -> Some " 4.05.0"
832+ | `OpenSUSE `Tumbleweed -> Some " 4.14.1"
819833 | `OracleLinux `V7 -> Some " 4.01.0"
820834 | `OracleLinux `V8 -> Some " 4.07.0"
821835 | `OracleLinux `V9 -> Some " 4.11.1"
@@ -977,6 +991,7 @@ let tag_of_distro (d : t) =
977991 | `OpenSUSE `V15_2 -> " opensuse-15.2"
978992 | `OpenSUSE `V15_3 -> " opensuse-15.3"
979993 | `OpenSUSE `V15_4 -> " opensuse-15.4"
994+ | `OpenSUSE `Tumbleweed -> " opensuse-tumbleweed"
980995 | `OpenSUSE `Latest -> " opensuse"
981996 | `Cygwin v -> " cygwin-" ^ win10_release_to_string v
982997 | `Windows (`Mingw, v ) -> " windows-mingw-" ^ win10_release_to_string v
@@ -1069,6 +1084,7 @@ let distro_of_tag x : t option =
10691084 | "opensuse-15.2" -> Some (`OpenSUSE `V15_2 )
10701085 | "opensuse-15.3" -> Some (`OpenSUSE `V15_3 )
10711086 | "opensuse-15.4" -> Some (`OpenSUSE `V15_4 )
1087+ | "opensuse-tumbleweed" -> Some (`OpenSUSE `Tumbleweed )
10721088 | "opensuse" -> Some (`OpenSUSE `Latest )
10731089 | s when String. is_prefix ~affix: " cygwin-" s ->
10741090 win10_of_tag " cygwin-" s (fun v -> `Cygwin v)
@@ -1157,6 +1173,7 @@ let human_readable_string_of_distro (d : t) =
11571173 | `OpenSUSE `V15_2 -> " OpenSUSE 15.2 (Leap)"
11581174 | `OpenSUSE `V15_3 -> " OpenSUSE 15.3 (Leap)"
11591175 | `OpenSUSE `V15_4 -> " OpenSUSE 15.4 (Leap)"
1176+ | `OpenSUSE `Tumbleweed -> " OpenSUSE Tumbleweed"
11601177 | `Cygwin v -> " Cygwin " ^ win10_release_to_string v
11611178 | `Windows (`Mingw, v ) -> " Windows mingw " ^ win10_release_to_string v
11621179 | `Windows (`Msvc, v ) -> " Windows mingw " ^ win10_release_to_string v
@@ -1289,6 +1306,7 @@ let bubblewrap_version (t : t) =
12891306 | `OpenSUSE `V15_2 -> Some (0 , 4 , 1 )
12901307 | `OpenSUSE `V15_3 -> Some (0 , 4 , 1 )
12911308 | `OpenSUSE `V15_4 -> Some (0 , 4 , 1 )
1309+ | `OpenSUSE `Tumbleweed -> Some (0 , 8 , 0 )
12921310 | `Cygwin _ -> None
12931311 | `Windows _ -> None
12941312
@@ -1398,6 +1416,7 @@ let base_distro_tag ?win10_revision ?(arch = `X86_64) d =
13981416 | `OracleLinux v ->
13991417 let tag = match v with `V7 -> " 7" | `V8 -> " 8" | `V9 -> " 9" in
14001418 (" oraclelinux" , tag)
1419+ | `OpenSUSE `Tumbleweed -> (" opensuse/tumbleweed" , " latest" )
14011420 | `OpenSUSE v ->
14021421 let tag =
14031422 match v with
@@ -1409,6 +1428,7 @@ let base_distro_tag ?win10_revision ?(arch = `X86_64) d =
14091428 | `V15_2 -> " 15.2"
14101429 | `V15_3 -> " 15.3"
14111430 | `V15_4 -> " 15.4"
1431+ | `Tumbleweed -> assert false
14121432 in
14131433 (" opensuse/leap" , tag)
14141434 | `Cygwin v ->
0 commit comments