forked from uxlfoundation/oneapi-construction-kit
-
Notifications
You must be signed in to change notification settings - Fork 0
177 lines (155 loc) · 5.63 KB
/
pr_tests_cache.yml
File metadata and controls
177 lines (155 loc) · 5.63 KB
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
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: '19'
llvm_current: '20'
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
# aarch 64
ubuntu_22_llvm_current_aarch64_jobs:
if: github.repository == 'uxlfoundation/oneapi-construction-kit' || github.event_name != 'schedule'
needs: [ubuntu_22_llvm_current_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
# Restore when PR #707 is merged means windows jobs is restored to PR testing
# windows_llvm_current_jobs:
# if: github.repository == 'uxlfoundation/oneapi-construction-kit' || github.event_name != 'schedule'
# 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: install
# - 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'
# Note when windows job is restored, the dependency should be added here.
needs: [ubuntu_22_llvm_current_aarch64_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"