From 7ebbcfe36009576cdbdd398a605a5ef3635863b9 Mon Sep 17 00:00:00 2001 From: Anil Raj Rimal <119393936+anilrajrimal1@users.noreply.github.com> Date: Wed, 11 Dec 2024 08:02:25 +0545 Subject: [PATCH] Enhance cache strategy with board-specific cache keys (#1777) * fix(compile_example.yaml): Fix cache key inconsistency and correct typo in 'Compile examples' workflow * feat(compile_library.yml): Use board-specific cache keys to avoid conflicts --- .github/workflows/compile_examples.yaml | 29 ++++++++++++++++++------- .github/workflows/compile_library.yml | 11 +++++++--- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/.github/workflows/compile_examples.yaml b/.github/workflows/compile_examples.yaml index 0ad4cd523..b59926822 100644 --- a/.github/workflows/compile_examples.yaml +++ b/.github/workflows/compile_examples.yaml @@ -39,20 +39,27 @@ jobs: uses: actions/cache@v2 with: path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: ${{ runner.os }}-pip- + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ github.ref }} + restore-keys: | + ${{ runner.os }}-pip-${{ github.ref }}- + ${{ runner.os }}-pip- + - name: Cache PlatformIO uses: actions/cache@v2 with: path: ~/.platformio - key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} + key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}-${{ github.ref }} + restore-keys: | + ${{ runner.os }}-${{ github.ref }}- + ${{ runner.os }}- + - name: Set up Python uses: actions/setup-python@v2 - name: Install PlatformIO run: | python -m pip install --upgrade pip pip install --upgrade platformio - - name: Install 3rd party dependecies + - name: Install 3rd party dependencies run: | pio lib -g install \ file://. \ @@ -92,20 +99,25 @@ jobs: uses: actions/cache@v2 with: path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: ${{ runner.os }}-pip- + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ github.ref }} + restore-keys: | + ${{ runner.os }}-pip-${{ github.ref }}- + ${{ runner.os }}-pip- - name: Cache PlatformIO uses: actions/cache@v2 with: path: ~/.platformio - key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} + key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}-${{ github.ref }} + restore-keys: | + ${{ runner.os }}-${{ github.ref }}- + ${{ runner.os }}- - name: Set up Python uses: actions/setup-python@v2 - name: Install PlatformIO run: | python -m pip install --upgrade pip pip install --upgrade platformio - - name: Install 3rd party dependecies + - name: Install 3rd party dependencies run: | pio lib -g install \ file://. \ @@ -116,3 +128,4 @@ jobs: run: pio ci --board=esp32dev env: PLATFORMIO_CI_SRC: ${{ matrix.example }} + \ No newline at end of file diff --git a/.github/workflows/compile_library.yml b/.github/workflows/compile_library.yml index 5660b9281..3f06ca5da 100644 --- a/.github/workflows/compile_library.yml +++ b/.github/workflows/compile_library.yml @@ -29,13 +29,18 @@ jobs: uses: actions/cache@v2 with: path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: ${{ runner.os }}-pip- + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ matrix.board }} + restore-keys: | + ${{ runner.os }}-pip-${{ matrix.board }}- + ${{ runner.os }}-pip- - name: Cache PlatformIO uses: actions/cache@v2 with: path: ~/.platformio - key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} + key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}-${{ matrix.board }} + restore-keys: | + ${{ runner.os }}-${{ matrix.board }}- + ${{ runner.os }}- - name: Set up Python uses: actions/setup-python@v2 - name: Install PlatformIO