From 31e712e78bffa586ddcba94da436d507d816ca1a Mon Sep 17 00:00:00 2001 From: Fabien Boucher Date: Jan 25 2021 09:53:17 +0000 Subject: [PATCH 1/3] Add Dhall package for FZCI --- diff --git a/FZCI.dhall/Arches.dhall b/FZCI.dhall/Arches.dhall new file mode 100644 index 0000000..d96c911 --- /dev/null +++ b/FZCI.dhall/Arches.dhall @@ -0,0 +1,42 @@ +let Zuul = + ~/git/softwarefactory-project.io/software-factory/dhall-zuul/package.dhall + ? https://raw.githubusercontent.com/softwarefactory-project/dhall-zuul/master/package.dhall + +let Prelude = + https://prelude.dhall-lang.org/v17.0.0/package.dhall sha256:10db3c919c25e9046833df897a8ffe2701dc390fa0893d958c3430524be5a43e + +let Union = < X86_64 | S390X | PPC64LE | I686 | ARMV7HL | AARCH64 > + +let eq_def = + { X86_64 = False + , S390X = False + , PPC64LE = False + , I686 = False + , ARMV7HL = False + , AARCH64 = False + } + +in { Type = Union + , default = Union.X86_64 + , fedora = + [ Union.X86_64 + , Union.S390X + , Union.PPC64LE + , Union.I686 + , Union.ARMV7HL + , Union.AARCH64 + ] + , epel8 = [ Union.X86_64, Union.PPC64LE, Union.AARCH64 ] + , show = + λ(arch : Union) → + merge + { X86_64 = "x86_64" + , S390X = "s390x" + , PPC64LE = "ppc64le" + , I686 = "i686" + , ARMV7HL = "armv7hl" + , AARCH64 = "aarch64" + } + arch + , isX86_64 = λ(arch : Union) → merge (eq_def ⫽ { X86_64 = True }) arch + } diff --git a/FZCI.dhall/Branches.dhall b/FZCI.dhall/Branches.dhall new file mode 100644 index 0000000..d9d0095 --- /dev/null +++ b/FZCI.dhall/Branches.dhall @@ -0,0 +1,58 @@ +let Zuul = + ~/git/softwarefactory-project.io/software-factory/dhall-zuul/package.dhall + ? https://raw.githubusercontent.com/softwarefactory-project/dhall-zuul/master/package.dhall + +let Prelude = + https://prelude.dhall-lang.org/v17.0.0/package.dhall sha256:10db3c919c25e9046833df897a8ffe2701dc390fa0893d958c3430524be5a43e + +let Arches = ./Arches.dhall + +let --| When changing that union, update the `all` attribute too + Union = + < Master | F32 | F33 | Epel8 > + +let eq_def = { Master = False, F32 = False, F33 = False, Epel8 = False } + +let show = + λ(branch : Union) → + merge + { Master = "master", F32 = "f32", F33 = "f33", Epel8 = "epel8" } + branch + +let all = [ Union.Master, Union.F33, Union.F32, Union.Epel8 ] + +in { Type = Union + , default = Union.Master + , all + , allText = Prelude.List.map Union Text show all + , show + , target = + λ(branch : Union) → + merge + { Master = "rawhide", F32 = "f32", F33 = "f33", Epel8 = "epel8" } + branch + , arches = + λ(branch : Union) → + merge + { Master = Arches.fedora + , F32 = Arches.fedora + , F33 = Arches.fedora + , Epel8 = Arches.epel8 + } + branch + , kojirepos = + λ(branch : Union) → + merge + { Master = + "https://kojipkgs.fedoraproject.org/repos/rawhide/latest/x86_64/" + , F32 = + "https://kojipkgs.fedoraproject.org/repos/f32-build/latest/x86_64/" + , F33 = + "https://kojipkgs.fedoraproject.org/repos/f33-build/latest/x86_64/" + , Epel8 = + "https://kojipkgs.fedoraproject.org/repos/epel8-build/latest/x86_64/" + } + branch + , isMaster = λ(branch : Union) → merge (eq_def ⫽ { Master = True }) branch + , isEpel8 = λ(branch : Union) → merge (eq_def ⫽ { Epel8 = True }) branch + } diff --git a/FZCI.dhall/Nodesets.dhall b/FZCI.dhall/Nodesets.dhall new file mode 100644 index 0000000..8728e6d --- /dev/null +++ b/FZCI.dhall/Nodesets.dhall @@ -0,0 +1,124 @@ +let Zuul = + ~/git/softwarefactory-project.io/software-factory/dhall-zuul/package.dhall + ? https://softwarefactory-project.io/cgit/software-factory/dhall-zuul/plain/package.dhall?h=0.4.0 sha256:1e74901df84e6428f15cbe6cac4f66be41030addb689177c14cbbd8f8802e77c + +let Prelude = + https://prelude.dhall-lang.org/v17.0.0/package.dhall sha256:10db3c919c25e9046833df897a8ffe2701dc390fa0893d958c3430524be5a43e + +let Nodeset = + let Union = + < Fedora-Latest-Container + | Fedora-33-Container + | Fedora-32-Container + | Fedora-31-Container + | Fedora-30-Container + | Centos-8-Container + | Centos-7-Container + | Fedora-Rawhide-VM + | Fedora-33-VM + | Fedora-32-VM + | Fedora-31-VM + | Fedora-30-VM + | Fedora-Rawhide-VM-Medium + | Fedora-33-VM-Medium + | Fedora-32-VM-Medium + | Fedora-31-VM-Medium + | Fedora-30-VM-Medium + | Centos-8-VM + > + + let all = + [ Union.Fedora-Latest-Container + , Union.Fedora-33-Container + , Union.Fedora-32-Container + , Union.Fedora-31-Container + , Union.Fedora-30-Container + , Union.Centos-8-Container + , Union.Centos-7-Container + , Union.Fedora-Rawhide-VM + , Union.Fedora-33-VM + , Union.Fedora-32-VM + , Union.Fedora-31-VM + , Union.Fedora-30-VM + , Union.Fedora-Rawhide-VM-Medium + , Union.Fedora-33-VM-Medium + , Union.Fedora-32-VM-Medium + , Union.Fedora-31-VM-Medium + , Union.Fedora-30-VM-Medium + , Union.Centos-8-VM + ] + + let create + : Text → Text → Text → Zuul.Nodeset.Type + = λ(name : Text) → + λ(label : Text) → + λ(host : Text) → + Zuul.Nodeset::{ + , name + , nodes = [ { name = host, label } ] : List Zuul.Nodeset.NodeType + } + + let toNodeset + : Union → Zuul.Nodeset.Type + = λ(nodeset : Union) → + merge + { Fedora-Latest-Container = + create "fedora-latest-container" "pod-fedora-33" "container" + , Fedora-33-Container = + create "fedora-33-container" "pod-fedora-33" "container" + , Fedora-32-Container = + create "fedora-32-container" "pod-fedora-32" "container" + , Fedora-31-Container = + create "fedora-31-container" "pod-fedora-31" "container" + , Fedora-30-Container = + create "fedora-30-container" "pod-fedora-30" "container" + , Centos-8-Container = + create "centos-8-container" "pod-centos-8" "container" + , Centos-7-Container = + create "centos-7-container" "pod-centos-7" "container" + , Fedora-Rawhide-VM = + create + "fedora-rawhide-vm" + "cloud-fedora-rawhide-small" + "cloud-host" + , Fedora-33-VM = + create "fedora-33-vm" "cloud-fedora-33-small" "cloud-host" + , Fedora-32-VM = + create "fedora-32-vm" "cloud-fedora-32-small" "cloud-host" + , Fedora-31-VM = + create "fedora-31-vm" "cloud-fedora-31-small" "cloud-host" + , Fedora-30-VM = + create "fedora-30-vm" "cloud-fedora-30-small" "cloud-host" + , Fedora-Rawhide-VM-Medium = + create + "fedora-rawhide-vm-medium" + "cloud-fedora-rawhide-medium" + "cloud-host" + , Fedora-33-VM-Medium = + create + "fedora-33-vm-medium" + "cloud-fedora-33-medium" + "cloud-host" + , Fedora-32-VM-Medium = + create + "fedora-32-vm-medium" + "cloud-fedora-32-medium" + "cloud-host" + , Fedora-31-VM-Medium = + create + "fedora-31-vm-medium" + "cloud-fedora-31-medium" + "cloud-host" + , Fedora-30-VM-Medium = + create + "fedora-30-vm-medium" + "cloud-fedora-30-medium" + "cloud-host" + , Centos-8-VM = + create "centos-8-vm" "cloud-centos-8" "cloud-host" + } + nodeset + + in { Type = Union, toNodeset, all, create } + +in Nodeset diff --git a/FZCI.dhall/package.dhall b/FZCI.dhall/package.dhall new file mode 100644 index 0000000..819d25e --- /dev/null +++ b/FZCI.dhall/package.dhall @@ -0,0 +1,4 @@ +{ Branches = ./Branches.dhall +, Nodesets = ./Nodesets.dhall +, Arches = ./Arches.dhall +} From ca59b48db0130d23e7e546f8deff72f08f6f728f Mon Sep 17 00:00:00 2001 From: Fabien Boucher Date: Jan 25 2021 10:08:20 +0000 Subject: [PATCH 2/3] Nodesets: add the getName function --- diff --git a/FZCI.dhall/Nodesets.dhall b/FZCI.dhall/Nodesets.dhall index 8728e6d..a5644b1 100644 --- a/FZCI.dhall/Nodesets.dhall +++ b/FZCI.dhall/Nodesets.dhall @@ -119,6 +119,10 @@ let Nodeset = } nodeset - in { Type = Union, toNodeset, all, create } + let getName = + λ(nodeset : Union) → + Zuul.Nodeset.Union.Name (toNodeset nodeset).name + + in { Type = Union, toNodeset, getName, all, create } in Nodeset From 6b697316710651d925ca16bb4c03a5e36a1f7b8c Mon Sep 17 00:00:00 2001 From: Fabien Boucher Date: Jan 25 2021 10:29:40 +0000 Subject: [PATCH 3/3] Remove zuul package hash waiting for 0.5.0 release --- diff --git a/FZCI.dhall/Nodesets.dhall b/FZCI.dhall/Nodesets.dhall index a5644b1..f5b366d 100644 --- a/FZCI.dhall/Nodesets.dhall +++ b/FZCI.dhall/Nodesets.dhall @@ -1,6 +1,6 @@ let Zuul = ~/git/softwarefactory-project.io/software-factory/dhall-zuul/package.dhall - ? https://softwarefactory-project.io/cgit/software-factory/dhall-zuul/plain/package.dhall?h=0.4.0 sha256:1e74901df84e6428f15cbe6cac4f66be41030addb689177c14cbbd8f8802e77c + ? https://softwarefactory-project.io/cgit/software-factory/dhall-zuul/plain/package.dhall let Prelude = https://prelude.dhall-lang.org/v17.0.0/package.dhall sha256:10db3c919c25e9046833df897a8ffe2701dc390fa0893d958c3430524be5a43e