From 1db0ac94726e6381df81127a529a871cefedfa79 Mon Sep 17 00:00:00 2001
From: Fabien Boucher <fboucher@redhat.com>
Date: Jan 05 2021 13:45:36 +0000
Subject: Support more arches and enable them for python3.X


---

diff --git a/zuul.d/jobs.dhall b/zuul.d/jobs.dhall
index 085500c..caaa0fa 100644
--- a/zuul.d/jobs.dhall
+++ b/zuul.d/jobs.dhall
@@ -16,19 +16,37 @@ let Prelude =
       https://prelude.dhall-lang.org/v17.0.0/package.dhall sha256:10db3c919c25e9046833df897a8ffe2701dc390fa0893d958c3430524be5a43e
 
 let Arch =
-      let Union = < X86_64 | AARCH64 | PPC64LE >
+      let Union = < X86_64 | S390X | PPC64LE | I386 | ARMHFP | AARCH64 >
 
-      let eq_def = { X86_64 = False, AARCH64 = False, PPC64LE = False }
+      let eq_def =
+            { X86_64 = False
+            , S390X = False
+            , PPC64LE = False
+            , I386 = False
+            , ARMHFP = False
+            , AARCH64 = False
+            }
 
       in  { Type = Union
           , default = Union.X86_64
-          , all = [ Union.X86_64, Union.AARCH64, Union.PPC64LE ]
+          , fedora =
+            [ Union.X86_64
+            , Union.S390X
+            , Union.PPC64LE
+            , Union.I386
+            , Union.ARMHFP
+            , Union.AARCH64
+            ]
+          , epel8 = [ Union.X86_64, Union.PPC64LE, Union.AARCH64 ]
           , show =
               λ(arch : Union) →
                 merge
                   { X86_64 = "x86_64"
-                  , AARCH64 = "aarch64"
+                  , S390X = "s390x"
                   , PPC64LE = "ppc64le"
+                  , I386 = "i386"
+                  , ARMHFP = "armhfp"
+                  , AARCH64 = "aarch64"
                   }
                   arch
           , isX86_64 = λ(arch : Union) → merge (eq_def ⫽ { X86_64 = True }) arch
@@ -63,6 +81,15 @@ let Branch =
                   , Epel8 = "epel8"
                   }
                   branch
+          , arches =
+              λ(branch : Union) →
+                merge
+                  { Master = Arch.fedora
+                  , F32 = Arch.fedora
+                  , F33 = Arch.fedora
+                  , Epel8 = Arch.epel8
+                  }
+                  branch
           , isMaster =
               λ(branch : Union) → merge (eq_def ⫽ { Master = True }) branch
           }
@@ -181,7 +208,7 @@ let generateRpmBuildJobs
                   Zuul.Job.Type
                   (generateRpmBuildJob kbtype branch)
                   ( if    KojiBuild.isScratch kbtype
-                    then  Arch.all
+                    then  Branch.arches branch
                     else  [ Arch.Type.X86_64 ]
                   )
 
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index 094d7b8..f6c5839 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -41,10 +41,10 @@
     branches:
       - master
     final: true
-    name: rpm-scratch-build-aarch64
+    name: rpm-scratch-build-s390x
     parent: common-koji-rpm-build
     vars:
-      arches: aarch64
+      arches: s390x
       fetch_artifacts: false
       release: master
       scratch_build: true
@@ -63,6 +63,42 @@
       target: rawhide
 - job:
     branches:
+      - master
+    final: true
+    name: rpm-scratch-build-i386
+    parent: common-koji-rpm-build
+    vars:
+      arches: i386
+      fetch_artifacts: false
+      release: master
+      scratch_build: true
+      target: rawhide
+- job:
+    branches:
+      - master
+    final: true
+    name: rpm-scratch-build-armhfp
+    parent: common-koji-rpm-build
+    vars:
+      arches: armhfp
+      fetch_artifacts: false
+      release: master
+      scratch_build: true
+      target: rawhide
+- job:
+    branches:
+      - master
+    final: true
+    name: rpm-scratch-build-aarch64
+    parent: common-koji-rpm-build
+    vars:
+      arches: aarch64
+      fetch_artifacts: false
+      release: master
+      scratch_build: true
+      target: rawhide
+- job:
+    branches:
       - f33
     final: true
     name: rpm-scratch-build
@@ -77,10 +113,10 @@
     branches:
       - f33
     final: true
-    name: rpm-scratch-build-aarch64
+    name: rpm-scratch-build-s390x
     parent: common-koji-rpm-build
     vars:
-      arches: aarch64
+      arches: s390x
       fetch_artifacts: false
       release: f33
       scratch_build: true
@@ -99,6 +135,42 @@
       target: f33
 - job:
     branches:
+      - f33
+    final: true
+    name: rpm-scratch-build-i386
+    parent: common-koji-rpm-build
+    vars:
+      arches: i386
+      fetch_artifacts: false
+      release: f33
+      scratch_build: true
+      target: f33
+- job:
+    branches:
+      - f33
+    final: true
+    name: rpm-scratch-build-armhfp
+    parent: common-koji-rpm-build
+    vars:
+      arches: armhfp
+      fetch_artifacts: false
+      release: f33
+      scratch_build: true
+      target: f33
+- job:
+    branches:
+      - f33
+    final: true
+    name: rpm-scratch-build-aarch64
+    parent: common-koji-rpm-build
+    vars:
+      arches: aarch64
+      fetch_artifacts: false
+      release: f33
+      scratch_build: true
+      target: f33
+- job:
+    branches:
       - f32
     final: true
     name: rpm-scratch-build
@@ -113,10 +185,10 @@
     branches:
       - f32
     final: true
-    name: rpm-scratch-build-aarch64
+    name: rpm-scratch-build-s390x
     parent: common-koji-rpm-build
     vars:
-      arches: aarch64
+      arches: s390x
       fetch_artifacts: false
       release: f32
       scratch_build: true
@@ -135,6 +207,42 @@
       target: f32
 - job:
     branches:
+      - f32
+    final: true
+    name: rpm-scratch-build-i386
+    parent: common-koji-rpm-build
+    vars:
+      arches: i386
+      fetch_artifacts: false
+      release: f32
+      scratch_build: true
+      target: f32
+- job:
+    branches:
+      - f32
+    final: true
+    name: rpm-scratch-build-armhfp
+    parent: common-koji-rpm-build
+    vars:
+      arches: armhfp
+      fetch_artifacts: false
+      release: f32
+      scratch_build: true
+      target: f32
+- job:
+    branches:
+      - f32
+    final: true
+    name: rpm-scratch-build-aarch64
+    parent: common-koji-rpm-build
+    vars:
+      arches: aarch64
+      fetch_artifacts: false
+      release: f32
+      scratch_build: true
+      target: f32
+- job:
+    branches:
       - epel8
     final: true
     name: rpm-scratch-build
@@ -149,10 +257,10 @@
     branches:
       - epel8
     final: true
-    name: rpm-scratch-build-aarch64
+    name: rpm-scratch-build-ppc64le
     parent: common-koji-rpm-build
     vars:
-      arches: aarch64
+      arches: ppc64le
       fetch_artifacts: false
       release: epel8
       scratch_build: true
@@ -161,10 +269,10 @@
     branches:
       - epel8
     final: true
-    name: rpm-scratch-build-ppc64le
+    name: rpm-scratch-build-aarch64
     parent: common-koji-rpm-build
     vars:
-      arches: ppc64le
+      arches: aarch64
       fetch_artifacts: false
       release: epel8
       scratch_build: true
diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml
index d88cce2..47e4128 100644
--- a/zuul.d/projects.yaml
+++ b/zuul.d/projects.yaml
@@ -57,15 +57,18 @@
 # python runtime distgits such as rpms/python3.xx
 - project:
     name: "^rpms/python3\\.\\d+"
-    templates:
-      - build-aarch64
-      - build-ppc64le
     check:
       jobs:
        - rpm-scratch-build-aarch64:
            voting: false
        - rpm-scratch-build-ppc64le:
            voting: false
+       - rpm-scratch-build-armhfp:
+           voting: false
+       - rpm-scratch-build-i386:
+           voting: false
+       - rpm-scratch-build-s390x:
+           voting: false
 
 - project:
     name: rpms/pypy

