Skip to content

Commit

Permalink
CI: Use Azure caching for Lagom build
Browse files Browse the repository at this point in the history
Adds a compiler cache and a cache for the UCD files.
  • Loading branch information
trflynn89 authored and linusg committed Aug 17, 2021
1 parent 831f90c commit 5eba8c9
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 2 deletions.
24 changes: 24 additions & 0 deletions Meta/Azure/Caches.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
parameters:
os: 'Linux'
arch: 'i686'
toolchain: 'gcc'
build_directory: ''
ccache_version: 1 # Increment this number if CI has trouble with ccache.

steps:
- task: Cache@2
inputs:
key: '"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'
14 changes: 14 additions & 0 deletions Meta/Azure/Lagom.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ jobs:
- job: 'Lagom_${{ parameters.os }}'

variables:
- name: CCACHE_DIR
value: $(Build.SourcesDirectory)/.ccache
- ${{ if eq(parameters.os, 'Linux') }}:
- name: job_pool
value: ubuntu-20.04
Expand All @@ -21,13 +23,21 @@ jobs:
parameters:
os: '${{ parameters.os }}'

- template: Caches.yml
parameters:
os: '${{ parameters.os }}'
arch: 'Lagom'
toolchain: 'gcc'
build_directory: 'Meta/Lagom/Build'

- script: |
mkdir -p Meta/Lagom/Build
displayName: 'Create Build Directory'
- script: |
cmake -GNinja \
-DBUILD_LAGOM=ON \
-DENABLE_LAGOM_CCACHE=ON \
-DINCLUDE_WASM_SPEC_TESTS=ON \
-DWASM_SPEC_TEST_SKIP_FORMATTING=ON \
-DENABLE_UNDEFINED_SANITIZER=ON \
Expand Down Expand Up @@ -57,3 +67,7 @@ jobs:
# FIXME: enable detect_stack_use_after_return=1 #7420
ASAN_OPTIONS: 'strict_string_checks=1:check_initialization_order=1:strict_init_order=1'
UBSAN_OPTIONS: 'print_stacktrace=1:print_summary=1:halt_on_error=1'
- script: |
ccache -s
displayName: 'Cache Stats'
4 changes: 2 additions & 2 deletions Meta/Azure/Setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ steps:
- script: |
sudo apt-get purge -y clang-11
sudo apt-get update
sudo apt-get install ninja-build
sudo apt-get install ninja-build ccache
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-12 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-12 100
Expand All @@ -21,5 +21,5 @@ steps:
- ${{ if eq(parameters.os, 'macOS') }}:
- script: |
brew install ninja wabt
brew install ninja wabt ccache
displayName: 'Install Dependencies'

0 comments on commit 5eba8c9

Please sign in to comment.