CI: build: fix ccache cache usage

CCache cache is currently broken due to a funny bug in ccache compiler
type detection. It seems ccache compiler type detection is very fragile
and with the use of external toolchain doesn't correctly detect the
type.
The type detected is set to other instead of gcc resulting in ccache
complaining for unsupported compiler options.

To handle this problem, force the compiler type to gcc to make ccache
correctly work and speedup compilation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
Christian Marangi 2023-05-28 03:15:50 +02:00
parent 07b52a8a25
commit ae7b05328c
No known key found for this signature in database
GPG Key ID: AC001D09ADBFEAD7

View File

@ -302,11 +302,22 @@ jobs:
echo CONFIG_TARGET_PER_DEVICE_ROOTFS=y >> .config echo CONFIG_TARGET_PER_DEVICE_ROOTFS=y >> .config
echo CONFIG_TARGET_ALL_PROFILES=y >> .config echo CONFIG_TARGET_ALL_PROFILES=y >> .config
- name: Configure ccache # ccache for some reason have problem detecting compiler type
# with external toolchain. This cause the complete malfunction
# of ccache with the result of tons of unsupported compiler
# option error.
# To fix this force compiler type to gcc.
- name: Configure ccache and apply fixes
if: inputs.use_ccache_cache == true if: inputs.use_ccache_cache == true
shell: su buildbot -c "sh -e {0}" shell: su buildbot -c "sh -e {0}"
working-directory: openwrt working-directory: openwrt
env:
SYSTEM_CCACHE_CONF: staging_dir/host/etc/ccache.conf
run: | run: |
touch $SYSTEM_CCACHE_CONF
echo compiler_type=gcc >> $SYSTEM_CCACHE_CONF
echo CONFIG_CCACHE=y >> .config echo CONFIG_CCACHE=y >> .config
- name: Configure external toolchain in container - name: Configure external toolchain in container