forked from f3d-app/f3d
-
Notifications
You must be signed in to change notification settings - Fork 0
132 lines (118 loc) · 4.29 KB
/
Copy pathcache-preheating.yml
File metadata and controls
132 lines (118 loc) · 4.29 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
name: Cache preheating
on:
workflow_dispatch:
inputs:
repo:
description: "Repository to build caches from"
required: true
branch:
description: "Branch of repository to build caches from"
required: true
jobs:
#----------------------------------------------------------------------------
# Cache preheating all dependencies
#----------------------------------------------------------------------------
cache_preheating_dependencies:
name: Preheat dependency caches
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, windows-2022, macos-15, macos-15-intel]
build_type: [standard]
include:
- mindeps_label: no-mindeps
- build_type: mindeps
os: ubuntu-24.04
mindeps_label: mindeps
runs-on: ${{matrix.os}}
container: ${{ matrix.os == 'ubuntu-24.04' && 'ghcr.io/f3d-app/f3d-ci' || null }}
env:
CMAKE_POLICY_VERSION_MINIMUM: 3.5
steps:
- uses: actions/checkout@v7
with:
ref: ${{ github.event.inputs.branch }}
repository: ${{ github.event.inputs.repo }}
path: "source"
fetch-depth: 1
lfs: false
- name: Generic Dependencies
uses: ./source/.github/actions/generic-dependencies
with:
versions_file: ./source/.github/workflows/versions.json
mindeps_label: ${{matrix.mindeps_label}}
cpu: ${{ matrix.os == 'macos-15' && 'arm64' || 'x86_64' }}
#----------------------------------------------------------------------------
# Recover vtk matrix
#----------------------------------------------------------------------------
recover_vtk_matrix:
name: Recover VTK matrix
runs-on: ubuntu-24.04
outputs:
vtk_matrix: ${{steps.vtk_matrix.outputs.extract}}
steps:
- uses: actions/checkout@v7
with:
ref: ${{ github.event.inputs.branch }}
repository: ${{ github.event.inputs.repo }}
path: "source"
fetch-depth: 1
lfs: false
- name: Extract VTK matrix
id: vtk_matrix
uses: f3d-app/extract-version-action@main
with:
file: ./source/.github/workflows/versions.json
special_name: vtk_matrix
#----------------------------------------------------------------------------
# Cache preheating VTK
#----------------------------------------------------------------------------
cache_preheating_vtk:
needs: [cache_preheating_dependencies, recover_vtk_matrix]
name: Preheat VTK dependency caches
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, windows-2022, macos-15, macos-15-intel]
vtk_version: ${{fromJSON(needs.recover_vtk_matrix.outputs.vtk_matrix)}}
build_type: [standard]
include:
- optdeps_label: optdeps
- mindeps_label: no-mindeps
- build_type: mindeps
os: ubuntu-24.04
vtk_version: commit
optdeps_label: optdeps
mindeps_label: mindeps
- build_type: no-optdeps
os: ubuntu-24.04
vtk_version: commit
optdeps_label: no-optdeps
mindeps_label: no-mindeps
runs-on: ${{matrix.os}}
container: ${{ matrix.os == 'ubuntu-24.04' && 'ghcr.io/f3d-app/f3d-ci' || null }}
env:
CMAKE_POLICY_VERSION_MINIMUM: 3.5
steps:
- uses: actions/checkout@v7
with:
ref: ${{ github.event.inputs.branch }}
repository: ${{ github.event.inputs.repo }}
path: "source"
fetch-depth: 1
lfs: false
- name: VTK Dependencies (already cached)
uses: ./source/.github/actions/vtk-dependencies
with:
versions_file: ./source/.github/workflows/versions.json
optdeps_label: ${{matrix.optdeps_label}}
mindeps_label: ${{matrix.mindeps_label}}
cpu: ${{ matrix.os == 'macos-15' && 'arm64' || 'x86_64' }}
- name: Cache VTK
uses: ./source/.github/actions/vtk-install-dep
with:
versions_file: ./source/.github/workflows/versions.json
optdeps_label: ${{matrix.optdeps_label}}
mindeps_label: ${{matrix.mindeps_label}}
cpu: ${{ matrix.os == 'macos-15' && 'arm64' || 'x86_64' }}
vtk_version: ${{matrix.vtk_version}}