@@ -53,31 +53,56 @@ jobs:
53
53
with :
54
54
packages : scons
55
55
56
- - name : Build ACL
56
+ - name : Clone ACL
57
57
run : ${{ github.workspace }}/oneDNN/.github/automation/build_acl.sh
58
58
env :
59
+ ACL_ACTION : clone
60
+ ACL_CONFIG : ${{ matrix.config }}
59
61
ACL_ROOT_DIR : ${{ github.workspace }}/ComputeLibrary
60
62
BUILD_TOOLSET : ${{ matrix.toolset }}
61
- ACL_CONFIG : ${{ matrix.config }}
62
63
GCC_VERSION : 14
63
64
64
- - name : Build oneDNN
65
- run : ${{ github.workspace }}/oneDNN/.github/automation/build_aarch64.sh
66
- working-directory : ${{ github.workspace }}/oneDNN
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 : ${{ steps.get_system_name.outputs.SystemName }}-acl-${{ matrix.toolset }}-${{ matrix.config }}-${{ steps.get_acl_commit_hash.outputs.ACLCommitHash }}
78
+ path : ${{ github.workspace }}/ComputeLibrary/build
79
+
80
+ - name : Build ACL
81
+ if : ${{ steps.cache-acl-restore.outputs.cache-hit != 'true' }}
82
+ run : ${{ github.workspace }}/oneDNN/.github/automation/build_acl.sh
67
83
env :
84
+ ACL_ACTION : build
68
85
ACL_ROOT_DIR : ${{ github.workspace }}/ComputeLibrary
69
86
BUILD_TOOLSET : ${{ matrix.toolset }}
70
- CMAKE_BUILD_TYPE : ${{ matrix.config }}
87
+ ACL_CONFIG : ${{ matrix.config }}
71
88
GCC_VERSION : 14
72
89
90
+ - name : Save ACL in cache
91
+ if : ${{ steps.cache-acl-restore.outputs.cache-hit != 'true' }}
92
+ id : cache-acl_build-save
93
+ uses : actions/cache/save@v4
94
+ with :
95
+ key : ${{ steps.cache-acl-restore.outputs.cache-primary-key }}
96
+ path : ${{ github.workspace }}/ComputeLibrary/build
97
+
73
98
- if : matrix.toolset == 'clang'
74
99
name : Run oneDNN smoke tests
75
100
run : ${{ github.workspace }}/oneDNN/.github/automation/test_aarch64.sh
76
101
working-directory : ${{ github.workspace }}/oneDNN/build
77
102
env :
78
103
CMAKE_BUILD_TYPE : ${{ matrix.config }}
79
104
DYLD_LIBRARY_PATH : ${{ github.workspace }}/ComputeLibrary/build
80
-
105
+
81
106
# We only run the linux aarch64 runners if macos smoke tests pass.
82
107
linux :
83
108
needs : macos
0 commit comments