24
24
pull_request :
25
25
types : [opened, synchronize, reopened]
26
26
27
+ # TODO: Fix job cancellation.
27
28
# * Stop stale workflows when pull requests are updated: https://stackoverflow.com/a/70972844
28
29
# * Does not apply to the main branch.
29
- concurrency :
30
- group : ${{ github.ref }}
31
- cancel-in-progress : ${{ github.ref != 'refs/heads/main' }}
30
+ # concurrency:
31
+ # group: ${{ github.ref }}
32
+ # cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
32
33
33
34
# Declare default permissions as read only.
34
35
permissions : read-all
@@ -53,13 +54,46 @@ jobs:
53
54
with :
54
55
packages : scons
55
56
57
+ - name : Clone ACL
58
+ run : ${{ github.workspace }}/oneDNN/.github/automation/build_acl.sh
59
+ env :
60
+ ACL_ACTION : clone
61
+ ACL_CONFIG : ${{ matrix.config }}
62
+ ACL_ROOT_DIR : ${{ github.workspace }}/ComputeLibrary
63
+ BUILD_TOOLSET : ${{ matrix.toolset }}
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 : ${{ 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
+
56
80
- name : Build ACL
81
+ if : ${{ steps.cache-acl-restore.outputs.cache-hit != 'true' }}
57
82
run : ${{ github.workspace }}/oneDNN/.github/automation/build_acl.sh
58
83
env :
84
+ ACL_ACTION : build
59
85
ACL_ROOT_DIR : ${{ github.workspace }}/ComputeLibrary
60
86
BUILD_TOOLSET : ${{ matrix.toolset }}
61
87
ACL_CONFIG : ${{ matrix.config }}
62
- GCC_VERSION : 14
88
+ GCC_VERSION : 13
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
63
97
64
98
- name : Build oneDNN
65
99
run : ${{ github.workspace }}/oneDNN/.github/automation/build_aarch64.sh
@@ -68,16 +102,16 @@ jobs:
68
102
ACL_ROOT_DIR : ${{ github.workspace }}/ComputeLibrary
69
103
BUILD_TOOLSET : ${{ matrix.toolset }}
70
104
CMAKE_BUILD_TYPE : ${{ matrix.config }}
71
- GCC_VERSION : 14
72
-
105
+ GCC_VERSION : 13
106
+
73
107
- if : matrix.toolset == 'clang'
74
108
name : Run oneDNN smoke tests
75
109
run : ${{ github.workspace }}/oneDNN/.github/automation/test_aarch64.sh
76
110
working-directory : ${{ github.workspace }}/oneDNN/build
77
111
env :
78
112
CMAKE_BUILD_TYPE : ${{ matrix.config }}
79
113
DYLD_LIBRARY_PATH : ${{ github.workspace }}/ComputeLibrary/build
80
-
114
+
81
115
# We only run the linux aarch64 runners if macos smoke tests pass.
82
116
linux :
83
117
needs : macos
@@ -122,14 +156,46 @@ jobs:
122
156
with :
123
157
version : " 17"
124
158
125
- - name : Build ACL
159
+ - name : Clone ACL
126
160
run : ${{ github.workspace }}/oneDNN/.github/automation/build_acl.sh
127
161
env :
162
+ ACL_ACTION : clone
128
163
ACL_CONFIG : ${{ matrix.config }}
129
164
ACL_ROOT_DIR : ${{ github.workspace }}/ComputeLibrary
130
165
BUILD_TOOLSET : ${{ matrix.toolset }}
166
+
167
+ - name : Get ACL commit hash for cache key
168
+ id : get_acl_commit_hash
169
+ run : (cd ${{ github.workspace }}/ComputeLibrary && echo "ACLCommitHash=$(git rev-parse --short HEAD)") >> $GITHUB_OUTPUT
170
+
171
+ - name : Get system name
172
+ id : get_system_name
173
+ run : (echo "SystemName=$(uname)") >> $GITHUB_OUTPUT
174
+
175
+ - name : Restore cached ACL
176
+ id : cache-acl-restore
177
+ uses : actions/cache/restore@v4
178
+ with :
179
+ key : ${{ steps.get_system_name.outputs.SystemName }}-acl-${{ matrix.toolset }}-${{ matrix.config }}-${{ steps.get_acl_commit_hash.outputs.ACLCommitHash }}
180
+ path : ${{ github.workspace }}/ComputeLibrary/build
181
+
182
+ - name : Build ACL
183
+ if : ${{ steps.cache-acl-restore.outputs.cache-hit != 'true' }}
184
+ run : ${{ github.workspace }}/oneDNN/.github/automation/build_acl.sh
185
+ env :
186
+ ACL_ACTION : build
187
+ ACL_ROOT_DIR : ${{ github.workspace }}/ComputeLibrary
188
+ BUILD_TOOLSET : ${{ matrix.toolset }}
189
+ ACL_CONFIG : ${{ matrix.config }}
131
190
GCC_VERSION : 13
132
- ACL_THREADING : ${{ matrix.threading }}
191
+
192
+ - name : Save ACL in cache
193
+ if : ${{ steps.cache-acl-restore.outputs.cache-hit != 'true' }}
194
+ id : cache-acl_build-save
195
+ uses : actions/cache/save@v4
196
+ with :
197
+ key : ${{ steps.cache-acl-restore.outputs.cache-primary-key }}
198
+ path : ${{ github.workspace }}/ComputeLibrary/build
133
199
134
200
- name : Build oneDNN
135
201
run : ${{ github.workspace }}/oneDNN/.github/automation/build_aarch64.sh
0 commit comments