From 01984559e3d442942a1d1df8257b661508aa5616 Mon Sep 17 00:00:00 2001
From: olemorud <ole.kristian.morud@cern.ch>
Date: Tue, 21 Mar 2023 17:26:03 +0100
Subject: [PATCH] [CI] Add macOS 13 job

---
 .../buildconfig/{mac12.txt => mac13.txt}      |  0
 .github/workflows/root-ci.yml                 | 73 +++++++++++++++++++
 2 files changed, 73 insertions(+)
 rename .github/workflows/root-ci-config/buildconfig/{mac12.txt => mac13.txt} (100%)

diff --git a/.github/workflows/root-ci-config/buildconfig/mac12.txt b/.github/workflows/root-ci-config/buildconfig/mac13.txt
similarity index 100%
rename from .github/workflows/root-ci-config/buildconfig/mac12.txt
rename to .github/workflows/root-ci-config/buildconfig/mac13.txt
diff --git a/.github/workflows/root-ci.yml b/.github/workflows/root-ci.yml
index d6accde274f..d75a8d24e96 100644
--- a/.github/workflows/root-ci.yml
+++ b/.github/workflows/root-ci.yml
@@ -64,6 +64,79 @@ env:
   OS_REGION_NAME: 'cern'
 
 jobs:
+  build-macos:
+    if: github.repository_owner == 'root_project'
+
+    permissions:
+      contents: read
+    
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - platform: mac13
+            arch: ARM64
+            config: Release
+    
+    name: ${{ matrix.platform }} ${{ matrix.arch }} ${{ matrix.config }}
+
+    runs-on: # Using '[self-hosted, ..., ...]' does not work for some reason :)
+      - self-hosted
+      - macOS
+      - ${{ matrix.arch }}
+      - ${{ matrix.platform }}
+
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+      - name: Pull Request Build
+        if: github.event_name == 'pull_request'
+        env:
+          INCREMENTAL: ${{ !contains(github.event.pull_request.labels.*.name, 'clean build') }}
+        run: ".github/workflows/root-ci-config/build_root.py
+                    --buildtype      ${{ matrix.config }}
+                    --platform       ${{ matrix.platform }}
+                    --incremental    $INCREMENTAL
+                    --base_ref       ${{ github.base_ref }}
+                    --head_ref       refs/pull/${{ github.event.pull_request.number }}/head
+                    --repository     ${{ github.server_url }}/${{ github.repository }}"
+
+      - name: Workflow dispatch
+        if:   github.event_name == 'workflow_dispatch'
+        run: ".github/workflows/root-ci-config/build_root.py
+                    --buildtype      ${{ matrix.config }}
+                    --platform       ${{ matrix.platform }}
+                    --incremental    ${{ inputs.incremental }}
+                    --base_ref       ${{ inputs.base_ref }}
+                    --head_ref       ${{ inputs.head_ref }}
+                    --repository     ${{ github.server_url }}/${{ github.repository }}"
+
+      - name: Nightly build
+        if:   github.event_name == 'schedule'
+        run: ".github/workflows/root-ci-config/build_root.py
+                    --buildtype      ${{ matrix.config }}
+                    --platform       ${{ matrix.platform }}
+                    --incremental    false
+                    --base_ref       ${{ github.ref_name }}
+                    --repository     ${{ github.server_url }}/${{ github.repository }}"
+
+      - name: Update artifacts after push to release branch
+        if:   github.event_name == 'push'
+        run: ".github/workflows/root-ci-config/build_root.py
+                    --buildtype      ${{ matrix.config }}
+                    --platform       ${{ matrix.platform }}
+                    --incremental    true
+                    --base_ref       ${{ github.ref_name }}
+                    --repository     ${{ github.server_url }}/${{ github.repository }}"
+
+      - name: Upload test results
+        uses: actions/upload-artifact@v3
+        with:
+          name:  Test Results ${{ matrix.platform }} ${{ matrix.arch }} ${{ matrix.config }}
+          path: /tmp/workspace/build/TestResults.xml
+
+
   build-windows:
     if: github.repository_owner == 'root_project'
 
-- 
GitLab