-
Notifications
You must be signed in to change notification settings - Fork 39
206 lines (181 loc) · 6.55 KB
/
pr_tests_cache.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
name: Seed the cache for ock builds
on:
# pull_request:
# paths:
# - '.github/workflows/pr_tests_cache.yml'
push:
branch: main
paths:
- 'source/**'
- 'clik/**'
- 'modules/**'
- 'examples/**'
- 'cmake/**'
- 'hal/**'
- '.github/workflows/pr_tests_cache.yml'
- '.github/actions/do_build_ock/**'
- '.github/actions/setup_build/**'
- '.github/action/do_build_pr/**'
- 'CMakeLists.txt'
workflow_dispatch:
env:
llvm_previous: '18'
llvm_current: '19'
concurrency:
group: pr-test-cache-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
actions: write
jobs:
ubuntu_22_llvm_prev_jobs:
if: github.repository == 'uxlfoundation/oneapi-construction-kit' || github.event_name != 'schedule'
runs-on: ubuntu-22.04
container:
image: ghcr.io/uxlfoundation/ock_ubuntu_22.04-x86-64:latest
volumes:
- ${{github.workspace}}:${{github.workspace}}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: setup ubuntu
uses: ./.github/actions/setup_build
with:
llvm_version: ${{ env.llvm_previous }}
llvm_build_type: RelAssert
save: true
llvm_source: install
- name: build host_x86_64
uses: ./.github/actions/do_build_pr/run_host_x86_64
with:
cache_seed: true
- name: build riscv M1
uses: ./.github/actions/do_build_pr/run_riscv_m1
with:
cache_seed: true
- name: build ubuntu_gcc_x86_64_riscv_fp16_cl3_0_unitcl_vecz
uses: ./.github/actions/do_build_pr/run_ubuntu_gcc_x86_64_riscv_fp16_cl3_0_unitcl_vecz
with:
cache_seed: true
ubuntu_22_llvm_current_jobs:
if: github.repository == 'uxlfoundation/oneapi-construction-kit' || github.event_name != 'schedule'
needs: [ubuntu_22_llvm_prev_jobs]
runs-on: ubuntu-22.04
container:
image: ghcr.io/uxlfoundation/ock_ubuntu_22.04-x86-64:latest
volumes:
- ${{github.workspace}}:${{github.workspace}}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: setup-ubuntu
uses: ./.github/actions/setup_build
with:
llvm_version: ${{ env.llvm_current }}
llvm_build_type: RelAssert
save: true
llvm_source: install
- name: build ubuntu_gcc_x86_64_riscv_fp16_cl3_0
uses: ./.github/actions/do_build_pr/run_ubuntu_gcc_x86_64_riscv_fp16_cl3_0
with:
cache_seed: true
- name: build ubuntu_gcc_x86_llvm_latest_x86_64_images_cl3_0_release
uses: ./.github/actions/do_build_pr/run_ubuntu_gcc_x86_llvm_latest_x86_64_images_cl3_0_release
with:
cache_seed: true
- name: build ubuntu_gcc_x86_64_refsi_g1_wi_cl3_0
uses: ./.github/actions/do_build_pr/run_ubuntu_gcc_x86_64_refsi_g1_wi_cl3_0
with:
cache_seed: true
# 32 bit x86
ubuntu_22_llvm_current_x86_jobs:
if: github.repository == 'uxlfoundation/oneapi-construction-kit' || github.event_name != 'schedule'
needs: [ubuntu_22_llvm_current_jobs]
runs-on: ubuntu-22.04
container:
image: ghcr.io/uxlfoundation/ock_ubuntu_22.04-x86-64:latest
volumes:
- ${{github.workspace}}:${{github.workspace}}
steps:
- name: Checkout repo
uses: actions/checkout@v4
# installs tools, ninja, installs llvm and sets up sccache
- name: setup-ubuntu
uses: ./.github/actions/setup_build
with:
llvm_version: ${{ env.llvm_current }}
llvm_build_type: RelAssert
save: true
cross_arch: x86
# Whilst we still have caches use this for 32 bit x86
# We may have to drop this or run just this part as part of the nightly.
llvm_source: cache
- name: build ubuntu_clang_x86_llvm_latest_cl3_0_offline
uses: ./.github/actions/do_build_pr/run_ubuntu_clang_x86_llvm_latest_cl3_0_offline
with:
cache_seed: true
# aarch 64
ubuntu_22_llvm_current_aarch64_jobs:
if: github.repository == 'uxlfoundation/oneapi-construction-kit' || github.event_name != 'schedule'
needs: [ubuntu_22_llvm_current_x86_jobs]
runs-on: ubuntu-22.04-arm
container:
image: ghcr.io/uxlfoundation/ock_ubuntu_22.04-aarch64:latest
volumes:
- ${{github.workspace}}:${{github.workspace}}
steps:
- name: Checkout repo
uses: actions/checkout@v4
# installs tools, ninja, installs llvm and sets up sccache
- name: setup-ubuntu
uses: ./.github/actions/setup_build
with:
llvm_version: ${{ env.llvm_current }}
llvm_build_type: RelAssert
save: true
llvm_source: install
- name: build ubuntu_gcc_aarch64_llvm_latest_cl3_0_fp16
uses: ./.github/actions/do_build_pr/run_ubuntu_gcc_aarch64_llvm_latest_cl3_0_fp16
with:
cache_seed: true
windows_llvm_current_jobs:
if: github.repository == 'uxlfoundation/oneapi-construction-kit' || github.event_name != 'schedule'
needs: [ubuntu_22_llvm_current_aarch64_jobs]
runs-on: windows-2019
steps:
- name: Setup Windows llvm base
uses: llvm/actions/setup-windows@main
with:
arch: amd64
- name: Checkout repo
uses: actions/checkout@v4
# installs tools, ninja, installs llvm and sets up ccache
- name: setup-windows
uses: ./.github/actions/setup_build
with:
llvm_version: ${{ env.llvm_current }}
llvm_build_type: RelAssert
save: true
os: windows
llvm_source: cache
- name: build windows_msvc_x86_64_llvm_latest_cl3_0_offline
uses: ./.github/actions/do_build_pr/run_windows_msvc_x86_64_llvm_latest_cl3_0_offline
with:
cache_seed: true
# The following tries to delete old caches but fails on the branch due to permissions errors
# Look to uncomment in the future.
clean_cache:
if: github.repository == 'uxlfoundation/oneapi-construction-kit' || github.event_name != 'schedule'
needs: [windows_llvm_current_jobs]
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
sparse-checkout: .github
- name: Cache clean
uses: ./.github/actions/clean_cache
with:
token: ${{ secrets.GITHUB_TOKEN }}
cache_prefixes: "ccache-ccache-build-ubuntu ccache-ccache-build-windows"