[openwrt/openwrt] CI: build: add option to disable use of ccache

LEDE Commits lede-commits at lists.infradead.org
Tue Oct 24 08:14:39 PDT 2023


ansuel pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/c8d4694d2c94fec836533b7a0635c9d41b4b7c3a

commit c8d4694d2c94fec836533b7a0635c9d41b4b7c3a
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Sun May 28 03:22:51 2023 +0200

    CI: build: add option to disable use of ccache
    
    Add option to disable use of ccache. This can be useful for some
    sensible test that should not use ccache as they can cause side effects
    of any sort. (example Coverity Scan)
    
    Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
    (cherry picked from commit b9a41c1e84067bcc63aac633b72e7dc808bfe6fe)
---
 .github/workflows/build.yml | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 7ce8a7c034..27ed5cc218 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -54,6 +54,9 @@ on:
         type: boolean
       upload_external_toolchain:
         type: boolean
+      use_ccache_cache:
+        type: boolean
+        default: true
 
 permissions:
   contents: read
@@ -250,6 +253,7 @@ jobs:
 
       - name: Restore ccache cache
         id: restore-ccache-cache
+        if: inputs.use_ccache_cache == true
         uses: actions/cache/restore at v3
         with:
           path: openwrt/.ccache
@@ -295,6 +299,13 @@ jobs:
           echo CONFIG_TARGET_PER_DEVICE_ROOTFS=y >> .config
           echo CONFIG_TARGET_ALL_PROFILES=y >> .config
 
+      - name: Configure ccache
+        if: inputs.use_ccache_cache == true
+        shell: su buildbot -c "sh -e {0}"
+        working-directory: openwrt
+        run: |
+          echo CONFIG_CCACHE=y >> .config
+
       - name: Configure external toolchain in container
         if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_container'
         shell: su buildbot -c "sh -e {0}"
@@ -302,7 +313,6 @@ jobs:
         run: |
           echo CONFIG_DEVEL=y >> .config
           echo CONFIG_AUTOREMOVE=y >> .config
-          echo CONFIG_CCACHE=y >> .config
 
           ./scripts/ext-toolchain.sh \
             --toolchain /external-toolchain/$(ls /external-toolchain/ | grep openwrt-toolchain)/toolchain-* \
@@ -316,7 +326,6 @@ jobs:
         run: |
           echo CONFIG_DEVEL=y >> .config
           echo CONFIG_AUTOREMOVE=y >> .config
-          echo CONFIG_CCACHE=y >> .config
 
           ./scripts/ext-toolchain.sh \
             --toolchain ${{ env.TOOLCHAIN_FILE }}/toolchain-* \
@@ -358,7 +367,6 @@ jobs:
         run: |
           echo CONFIG_DEVEL=y >> .config
           echo CONFIG_AUTOREMOVE=y >> .config
-          echo CONFIG_CCACHE=y >> .config
 
           ./scripts/ext-toolchain.sh \
             --toolchain ${{ env.TOOLCHAIN_FILE }}/staging_dir/toolchain-* \
@@ -372,7 +380,6 @@ jobs:
         run: |
           echo CONFIG_DEVEL=y >> .config
           echo CONFIG_AUTOREMOVE=y >> .config
-          echo CONFIG_CCACHE=y >> .config
 
           echo "CONFIG_TARGET_${{ inputs.target }}=y" >> .config
           echo "CONFIG_TARGET_${{ inputs.target }}_${{ inputs.subtarget }}=y" >> .config
@@ -477,7 +484,7 @@ jobs:
           path: "openwrt/logs"
 
       - name: Delete already present ccache cache
-        if: steps.restore-ccache-cache.outputs.cache-hit == 'true'
+        if: steps.restore-ccache-cache.outputs.cache-hit == 'true' && inputs.use_ccache_cache == true
         uses: octokit/request-action at v2.x
         with:
           route: DELETE /repos/{repository}/actions/caches?key={key}
@@ -487,6 +494,7 @@ jobs:
           INPUT_KEY: ${{ steps.restore-ccache-cache.outputs.cache-primary-key }}
 
       - name: Save ccache cache
+        if: inputs.use_ccache_cache == true
         uses: actions/cache/save at v3
         with:
           path: openwrt/.ccache




More information about the lede-commits mailing list