@@ -36,7 +36,7 @@ permissions: read-all
36
36
jobs :
37
37
macos :
38
38
name : macOS
39
- runs-on : macos-14
39
+ runs-on : macos-15
40
40
strategy :
41
41
matrix :
42
42
toolset : [clang, gcc]
@@ -53,14 +53,49 @@ jobs:
53
53
with :
54
54
packages : scons
55
55
56
+ - name : Clone ACL
57
+ run : ${{ github.workspace }}/oneDNN/.github/automation/build_acl.sh
58
+ env :
59
+ ACL_ACTION : clone
60
+ ACL_CONFIG : ${{ matrix.config }}
61
+ ACL_ROOT_DIR : ${{ github.workspace }}/ComputeLibrary
62
+ BUILD_TOOLSET : ${{ matrix.toolset }}
63
+ GCC_VERSION : 14
64
+
65
+ - name : Get ACL commit hash for cache key
66
+ id : get_acl_commit_hash
67
+ run : (cd ${{ github.workspace }}/ComputeLibrary && echo "ACLCommitHash=$(git rev-parse --short HEAD)") >> $GITHUB_OUTPUT
68
+
69
+ - name : Get system name
70
+ id : get_system_name
71
+ run : (echo "SystemName=$(uname)") >> $GITHUB_OUTPUT
72
+
73
+ - name : Restore cached ACL
74
+ id : cache-acl-restore
75
+ uses : actions/cache/restore@v4
76
+ with :
77
+ # Key must have MacOS version to force rebuild when it is updated.
78
+ key : ${{ steps.get_system_name.outputs.SystemName }}-15-acl-${{ matrix.toolset }}-${{ matrix.config }}-${{ steps.get_acl_commit_hash.outputs.ACLCommitHash }}
79
+ path : ${{ github.workspace }}/ComputeLibrary/build
80
+
56
81
- name : Build ACL
82
+ if : ${{ steps.cache-acl-restore.outputs.cache-hit != 'true' }}
57
83
run : ${{ github.workspace }}/oneDNN/.github/automation/build_acl.sh
58
84
env :
85
+ ACL_ACTION : build
59
86
ACL_ROOT_DIR : ${{ github.workspace }}/ComputeLibrary
60
87
BUILD_TOOLSET : ${{ matrix.toolset }}
61
88
ACL_CONFIG : ${{ matrix.config }}
62
89
GCC_VERSION : 14
63
90
91
+ - name : Save ACL in cache
92
+ if : ${{ steps.cache-acl-restore.outputs.cache-hit != 'true' }}
93
+ id : cache-acl_build-save
94
+ uses : actions/cache/save@v4
95
+ with :
96
+ key : ${{ steps.cache-acl-restore.outputs.cache-primary-key }}
97
+ path : ${{ github.workspace }}/ComputeLibrary/build
98
+
64
99
- name : Build oneDNN
65
100
run : ${{ github.workspace }}/oneDNN/.github/automation/build_aarch64.sh
66
101
working-directory : ${{ github.workspace }}/oneDNN
@@ -69,15 +104,15 @@ jobs:
69
104
BUILD_TOOLSET : ${{ matrix.toolset }}
70
105
CMAKE_BUILD_TYPE : ${{ matrix.config }}
71
106
GCC_VERSION : 14
72
-
107
+
73
108
- if : matrix.toolset == 'clang'
74
109
name : Run oneDNN smoke tests
75
110
run : ${{ github.workspace }}/oneDNN/.github/automation/test_aarch64.sh
76
111
working-directory : ${{ github.workspace }}/oneDNN/build
77
112
env :
78
113
CMAKE_BUILD_TYPE : ${{ matrix.config }}
79
114
DYLD_LIBRARY_PATH : ${{ github.workspace }}/ComputeLibrary/build
80
-
115
+
81
116
# We only run the linux aarch64 runners if macos smoke tests pass.
82
117
linux :
83
118
needs : macos
0 commit comments