> Ah, I still think you will need to pass CC to make directly, rather than > through the environment but you should be able to prevent > merge_config.sh from getting in the way by passing '-m' to avoid having > it invoke make itself, then you can add a 'make olddefconfig' step after > that, perhaps something like this? > > - name: build start > run: | > export ARCH=x86_64 KCFLAGS="-Wall -Werror" > export MAKEFLAGS=j"$(nproc)" > bash kconfig/kconfig-sof-default.sh -m The -m doesn't work since it's added last, but it's not even needed. The sequence below re-adds clang, that's just fine. > make CC=clang olddefconfig > make CC=clang sound/ > make CC=clang drivers/soundwire/ > make CC=clang The fun part now is that I get tons of unrelated errors - but at least that's a sign we're using the clang compiler https://github.com/thesofproject/linux/actions/runs/5813817494/job/15762178568?pr=4518 sound/pci/hda/hda_bind.c:232:18: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security] 2151 request_module(mod); 2152 ^~~ 2153 ./include/linux/kmod.h:25:55: note: expanded from macro 'request_module' 2154 #define request_module(mod...) __request_module(true, mod) 2155 ^~~ 2156 sound/pci/hda/hda_bind.c:232:18: note: treat the string as an argument to avoid this 2157 request_module(mod); 2158 ^ 2159 "%s", 2160 ./include/linux/kmod.h:25:55: note: expanded from macro 'request_module' 2161 #define request_module(mod...) __request_module(true, mod) 2162 ^ 2163 1 error generated.