You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Normally GitHub automatically evicts cache entires which have not been accessed in over a week.
2
+
# This can be pretty annoying for this repo because it takes around 2 hours to build LLVM from scratch.
3
+
# This periodic workflow keeps the cache from expiring.
4
+
#
5
+
# Note that this workflow uses a fork of the GitHub Actions Cache action.
6
+
# This fork disables the action's logic for saving the cache at the end of the workflow, which is important here since we just want to restore it to keep it alive.
7
+
# Also note that internally the cache key depends on the paths used, so we need those to match the main workflow as well.
8
+
name: Keep cache warm
9
+
on:
10
+
schedule:
11
+
# The general intent here is that this workflow runs every 5 days.
12
+
# However this can't actually be expressed with cron syntax since it operates on a calendar and has no knowledge of when the last run was.
13
+
# As such it actually runs on the 1st of the month and every day-of-month which is a multiple of 5.
14
+
# The reason we run it on the 1st of the month is because we'd end up letting the cache expire between February and March since there would be too much
15
+
# time between February 25th and March 5th.
16
+
# https://crontab.guru/#0_8_1,*/5_*_*
17
+
- cron: '0 8 1,*/5 * *'
18
+
workflow_dispatch:
19
+
jobs:
20
+
warm-cache:
21
+
# This entire strategy is copy+pasted from the main build workflow
22
+
# Ideally we wouldn't need a build matirx for this, but it makes it easier to share the configuration between this file and the main workflow
23
+
# Additionally, the paths used for the cache are internally considered part of the key and as such must match and some are OS-depndent.
24
+
strategy:
25
+
fail-fast: false
26
+
matrix:
27
+
include:
28
+
- os: windows-latest
29
+
name: Windows
30
+
lib-path: build/bin/libclang.dll
31
+
build-command: ./build-native.cmd
32
+
artifact-name: LlvmBuildOutputs-Windows
33
+
# We use Ubuntu 18.04 so that the binary is usable on systems using glibc 2.27 and later
34
+
# If we want to support even older versions we should explore building libclang with https://github.com/wheybags/glibc_version_header
0 commit comments