From 4ecb8ba0cc828defad6f4278fac8998ab48a0b23 Mon Sep 17 00:00:00 2001 From: Michał Sawicz Date: Wed, 6 Jan 2021 18:06:17 +0100 Subject: [snap] enable ccache in Linux Snap workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also adding `push` to triggering events to populate the cache. Signed-off-by: Michał Sawicz --- .github/workflows/linux-snap.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to '.github/workflows/linux-snap.yml') diff --git a/.github/workflows/linux-snap.yml b/.github/workflows/linux-snap.yml index e1718c55d..325318c0a 100644 --- a/.github/workflows/linux-snap.yml +++ b/.github/workflows/linux-snap.yml @@ -28,11 +28,36 @@ jobs: # Needed for version determination to work fetch-depth: 0 + - name: Set up CCache + id: setup-ccache + run: | + sudo apt-get install ccache + ccache --max-size=2G + sg lxd -c '/snap/bin/lxc profile device add default ccache disk source=${HOME}/.ccache/ path=/root/.ccache' + + # Patch snapcraft.yaml to enable ccache + patch -p1 < .github/workflows/linux-snap.patch + + # Find common base between master and HEAD to use as cache key. + git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules origin master + echo "::set-output name=key::$( git merge-base origin/master ${{ github.sha }} )" + + - name: CCache + uses: actions/cache@v2 + with: + key: ccache-${{ runner.os }}-${{ steps.setup-ccache.outputs.key }} + restore-keys: | + ccache-${{ runner.os }}- + path: ~/.ccache/** + - name: Build run: | # Build the `subsurface` part. sg lxd -c '/snap/bin/snapcraft build --use-lxd subsurface' + - name: Clear CCache stats + run: ccache --show-stats --zero-stats + - name: Build and verify the snap id: build-snap env: -- cgit v1.2.3-70-g09d2