From aa0b0b3cf5ab4778ae153e9a3479d01b5162ee46 Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Mon, 29 Nov 2021 18:28:36 +0100
Subject: [PATCH] Implement arm builds on nightlies (fail-safe on individual
 packages)

---
 bob/devtools/data/gitlab-ci/base-build.yaml   | 10 +++++
 bob/devtools/data/gitlab-ci/nightlies.yaml    | 11 +++++
 bob/devtools/data/gitlab-ci/noarch.yaml       | 22 ++++++++++
 .../data/gitlab-ci/osx-arm64-support.yaml     | 42 -------------------
 .../data/gitlab-ci/single-package.yaml        |  3 +-
 5 files changed, 44 insertions(+), 44 deletions(-)
 delete mode 100644 bob/devtools/data/gitlab-ci/osx-arm64-support.yaml

diff --git a/bob/devtools/data/gitlab-ci/base-build.yaml b/bob/devtools/data/gitlab-ci/base-build.yaml
index a3701b75..97e652a5 100644
--- a/bob/devtools/data/gitlab-ci/base-build.yaml
+++ b/bob/devtools/data/gitlab-ci/base-build.yaml
@@ -47,3 +47,13 @@ build_macos_intel:
     - intel
   cache:
     key: "macos-intel-cache"
+
+
+build_macos_arm:
+  extends: .build_template
+  tags:
+    - bob
+    - macos
+    - arm
+  cache:
+    key: "macos-arm-cache"
diff --git a/bob/devtools/data/gitlab-ci/nightlies.yaml b/bob/devtools/data/gitlab-ci/nightlies.yaml
index 13a10e06..c40ab309 100644
--- a/bob/devtools/data/gitlab-ci/nightlies.yaml
+++ b/bob/devtools/data/gitlab-ci/nightlies.yaml
@@ -82,6 +82,17 @@ build_macos_intel_39:
   cache:
     key: 'build-py39'
 
+build_macos_arm_39:
+  extends: .build_template
+  variables:
+    PYTHON_VERSION: "3.9"
+  tags:
+    - bob
+    - macos
+    - arm
+  cache:
+    key: 'build-py39'
+
 
 # Periodic cleanup of beta packages
 .cleanup_template:
diff --git a/bob/devtools/data/gitlab-ci/noarch.yaml b/bob/devtools/data/gitlab-ci/noarch.yaml
index 7a54afc8..9c8ee0dd 100644
--- a/bob/devtools/data/gitlab-ci/noarch.yaml
+++ b/bob/devtools/data/gitlab-ci/noarch.yaml
@@ -83,6 +83,18 @@ build_macos_intel:
     - intel
 
 
+build_macos_arm:
+  variables:
+    PYTHON_VERSION: "3.9"
+  cache:
+    key: "build"
+  extends: .build_template
+  tags:
+    - bob
+    - macos
+    - arm
+
+
 # Test targets (not normally used)
 .test_template:
   extends: .bootstrap
@@ -111,6 +123,14 @@ build_macos_intel:
     - intel
 
 
+.test_macos_arm_template:
+  extends: .test_template
+  tags:
+    - bob
+    - macos
+    - arm
+
+
 # Deploy targets
 .deploy_template:
   extends: .bootstrap
@@ -121,6 +141,7 @@ build_macos_intel:
   dependencies:
     - build_linux
     - build_macos_intel
+    - build_macos_arm
   tags:
     - bob
     - docker
@@ -161,6 +182,7 @@ pypi:
   dependencies:
     - build_linux
     - build_macos_intel
+    - build_macos_arm
   tags:
     - bob
     - docker
diff --git a/bob/devtools/data/gitlab-ci/osx-arm64-support.yaml b/bob/devtools/data/gitlab-ci/osx-arm64-support.yaml
deleted file mode 100644
index f2ca8a95..00000000
--- a/bob/devtools/data/gitlab-ci/osx-arm64-support.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-.build_macos_arm_template:
-  extends: .build_template
-  tags:
-    - macos
-    - arm
-  artifacts:
-    paths:
-      - ${CONDA_ROOT}/conda-bld/osx-arm64/*.conda
-      - ${CONDA_ROOT}/conda-bld/osx-arm64/*.tar.bz2
-
-build_macos_arm_38:
-  extends: .build_macos_arm_template
-  variables:
-    PYTHON_VERSION: "3.8"
-  cache:
-    key: "build-py38"
-
-.deploy_template:
-  dependencies:
-    - build_linux_38
-    - build_macos_intel_38
-    - build_macos_arm_38
-
-deploy_beta:
-  extends: .deploy_template
-  environment: beta
-  only:
-    - master
-
-deploy_stable:
-  extends: .deploy_template
-  environment: stable
-  only:
-    - /^v\d+\.\d+\.\d+([abc]\d*)?$/  # PEP-440 compliant version (tags)
-  except:
-    - branches
-
-pypi:
-  dependencies:
-    - build_linux_38
-    - build_macos_intel_38
-    - build_macos_arm_38
diff --git a/bob/devtools/data/gitlab-ci/single-package.yaml b/bob/devtools/data/gitlab-ci/single-package.yaml
index 8da3e6b4..b43dfd3b 100644
--- a/bob/devtools/data/gitlab-ci/single-package.yaml
+++ b/bob/devtools/data/gitlab-ci/single-package.yaml
@@ -102,6 +102,7 @@ build_macos_arm_39:
   extends: .build_macos_arm_template
   variables:
     PYTHON_VERSION: "3.9"
+  allow_failure: true
   cache:
     key: "build-py39"
 
@@ -143,7 +144,6 @@ build_linux_39:
     - build_linux_39
     - build_macos_intel_38
     - build_macos_intel_39
-    - build_macos_arm_39
   tags:
     - bob
     - docker
@@ -186,7 +186,6 @@ pypi:
     - build_linux_39
     - build_macos_intel_38
     - build_macos_intel_39
-    - build_macos_arm_39
   tags:
     - bob
     - docker
-- 
GitLab