summaryrefslogtreecommitdiff
path: root/Meta/Azure/Caches.yml
blob: 99a9b1aa27dffdad0af23068793b65eaae8a27ac (plain)
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
parameters:
  os: 'Linux'
  arch: 'i686'
  toolchain: 'gcc'
  build_directory: ''
  ccache_version: 1 # Increment this number if CI has trouble with ccache.

steps:
  - script: |
      echo "##vso[task.setvariable variable=timestamp]$(date -u +"%Y%m%d%H%M_%S")"
    displayName: 'Stamps'

  - ${{ if ne(parameters.arch, 'Lagom') }}:
    - ${{ if eq(parameters.toolchain, 'clang') }}:
      - task: Cache@2
        inputs:
          key: '"toolchain" | "${{ parameters.arch }}" | Toolchain/BuildClang.sh | Toolchain/Patches/*[!gcc].patch | Userland/Libraries/LibC/**/*.h | Userland/Libraries/LibPthread/**/*.h'
          path: $(Build.SourcesDirectory)/Toolchain/Cache
        displayName: 'Toolchain Cache'
    - ${{ if eq(parameters.toolchain, 'gcc') }}:
      - task: Cache@2
        inputs:
          key: '"toolchain" | "${{ parameters.arch }}" | Toolchain/BuildIt.sh | Toolchain/Patches/*[!llvm].patch | Userland/Libraries/LibC/**/*.h | Userland/Libraries/LibPthread/**/*.h'
          path: $(Build.SourcesDirectory)/Toolchain/Cache
        displayName: 'Toolchain Cache'

  - task: Cache@2
    inputs:
      key: '"ccache" | "${{ parameters.os }}" | "${{ parameters.arch }}" | "${{ parameters.toolchain }}" | "${{ parameters.ccache_version }}" | "$(timestamp)"'
      restoreKeys: |
        "ccache" | "${{ parameters.os }}" | "${{ parameters.arch }}" | "${{ parameters.toolchain }}" | "${{ parameters.ccache_version }}"
      path: $(CCACHE_DIR)
    displayName: 'Compiler Cache'

  - task: Cache@2
    inputs:
      key: '"unicode_data" | Userland/Libraries/LibUnicode/unicode_data.cmake'
      path: $(Build.SourcesDirectory)/${{ parameters.build_directory }}/UCD
    displayName: 'UnicodeData Cache'

  - script: |
      ccache -M 5G
      ccache -s
    displayName: 'Configure ccache'