From 8a9f2200191f4e3c3471f29f16f12d8780cd399e Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Fri, 18 Nov 2022 23:07:06 +0100 Subject: [PATCH] ci(caching): restore package cache This adds a step to the ci and cd jobs that tries to restored a cache of python packages (the ones stored in `~/.cache/poetry`). I've added it to my own small project and it resulted in a 26x performance boost when fetching python dependency packages (from 3:05minutes to 7seconds). See https://github.com/kwk/ghgql/pull/11#issuecomment-1320450398 --- .../.github/workflows/ci-cd.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/{{ cookiecutter.__package_slug }}/.github/workflows/ci-cd.yml b/{{ cookiecutter.__package_slug }}/.github/workflows/ci-cd.yml index bdb833a..67f7f3e 100644 --- a/{{ cookiecutter.__package_slug }}/.github/workflows/ci-cd.yml +++ b/{{ cookiecutter.__package_slug }}/.github/workflows/ci-cd.yml @@ -20,6 +20,14 @@ jobs: - name: Install poetry uses: snok/install-poetry@v1 + - name: "Restore cached dependencies" + uses: actions/cache@v3 + with: + path: ~/.cache/pypoetry + key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} + restore-keys: | + ${{ runner.os }}-poetry- + - name: Install package run: poetry install @@ -59,6 +67,14 @@ jobs: - name: Install poetry uses: snok/install-poetry@v1 + - name: "Restore cached dependencies" + uses: actions/cache@v3 + with: + path: ~/.cache/pypoetry + key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} + restore-keys: | + ${{ runner.os }}-poetry- + - name: Install package run: poetry install