Repository navigation
60 lines (55 loc) · 2.04 KB
/
Copy pathcache_warm.yml
File metadata and controls
60 lines (55 loc) · 2.04 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
name: Warm the build caches
run-name: Warm the build caches on ${{ github.ref_name }}
# Runs the seed builds and the full-API build with assertions after pushes that change
# what they compile, so the ccaches track the branch instead of going stale
# between releases. PR, merge queue and feature branch builds restore these
# caches and never save. Without this workflow every PR pays the accumulated
# submodule delta on every platform.
#
# The branch patterns narrow the trigger to main and the release branches; the
# job conditions then require a protected ref, the same rule the ccache-action
# saves under, because the pattern also matches names like vendoring-v2.0-x.
# Keep this file identical across the branches that have assert_test.yml.
on:
push:
branches:
- main
- v*.*-*
paths:
- 'external/duckdb'
- 'src/**'
- 'cmake/**'
- 'CMakeLists.txt'
- 'pyproject.toml'
- '.pre-commit-config.yaml'
- '.github/workflows/cache_warm.yml'
- '.github/workflows/code_quality.yml'
- '.github/workflows/packaging_wheels.yml'
- '.github/workflows/assert_test.yml'
- '.github/actions/**'
# Runs are queued, not cancelled: the ccache action saves in its post step even
# after a cancel, and with evict-old-files the newest entry would then hold only
# what had compiled before the stop.
concurrency:
group: cache-warm-${{ github.ref }}
cancel-in-progress: false
jobs:
warm_caches:
name: Build the seed wheels to warm the caches
if: ${{ github.ref_protected }}
uses: ./.github/workflows/packaging_wheels.yml
with:
minimal: true
build-sanity: false
save-cache: true
testsuite: none
warm_assert_cache:
name: Build the full-API build with assertions to warm its cache
if: ${{ github.ref_protected }}
uses: ./.github/workflows/assert_test.yml
with:
testsuite: none
warm_pre_commit_cache:
name: Run the code quality checks to warm the pre-commit cache
if: ${{ github.ref_protected }}
uses: ./.github/workflows/code_quality.yml