[PATCH v2 02/20] tests/docker: add NOFETCH env variable for testing

Alex Bennée posted 20 patches 11 hours ago
[PATCH v2 02/20] tests/docker: add NOFETCH env variable for testing
Posted by Alex Bennée 11 hours ago
Testing non-auto built docker containers (i.e. custom built compilers)
is a bit fiddly as you couldn't continue a build with a previously
locally built container. While you can play games with REGISTRY its
simpler to allow a NOFETCH that will go through the cached build
process when you run the tests.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/docker/Makefile.include | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 681feae744..fead7d3abe 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -92,10 +92,10 @@ endif
 docker-image-alpine: NOUSER=1
 
 debian-toolchain-run = \
-	$(if $(NOCACHE), 						\
+	$(if $(NOCACHE)$(NOFETCH),					\
 		$(call quiet-command,					\
 			$(DOCKER_SCRIPT) build -t qemu/$1 -f $< 	\
-			$(if $V,,--quiet) --no-cache 			\
+			$(if $V,,--quiet) $(if $(NOCACHE),--no-cache)	\
 			--registry $(DOCKER_REGISTRY) --extra-files	\
 			$(DOCKER_FILES_DIR)/$1.d/build-toolchain.sh,	\
 			"BUILD", $1),				        \
@@ -177,6 +177,7 @@ docker:
 	@echo '    NETWORK=$$BACKEND     Enable virtual network interface with $$BACKEND.'
 	@echo '    NOUSER=1             Define to disable adding current user to containers passwd.'
 	@echo '    NOCACHE=1            Ignore cache when build images.'
+	@echo '    NOFETCH=1            Do not fetch from the registry.'
 	@echo '    EXECUTABLE=<path>    Include executable in image.'
 	@echo '    EXTRA_FILES="<path> [... <path>]"'
 	@echo '                         Include extra files in image.'
-- 
2.39.5


Re: [PATCH v2 02/20] tests/docker: add NOFETCH env variable for testing
Posted by Pierrick Bouvier an hour ago
On 10/22/24 03:55, Alex Bennée wrote:
> Testing non-auto built docker containers (i.e. custom built compilers)
> is a bit fiddly as you couldn't continue a build with a previously
> locally built container. While you can play games with REGISTRY its
> simpler to allow a NOFETCH that will go through the cached build
> process when you run the tests.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   tests/docker/Makefile.include | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index 681feae744..fead7d3abe 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -92,10 +92,10 @@ endif
>   docker-image-alpine: NOUSER=1
>   
>   debian-toolchain-run = \
> -	$(if $(NOCACHE), 						\
> +	$(if $(NOCACHE)$(NOFETCH),					\
>   		$(call quiet-command,					\
>   			$(DOCKER_SCRIPT) build -t qemu/$1 -f $< 	\
> -			$(if $V,,--quiet) --no-cache 			\
> +			$(if $V,,--quiet) $(if $(NOCACHE),--no-cache)	\
>   			--registry $(DOCKER_REGISTRY) --extra-files	\
>   			$(DOCKER_FILES_DIR)/$1.d/build-toolchain.sh,	\
>   			"BUILD", $1),				        \
> @@ -177,6 +177,7 @@ docker:
>   	@echo '    NETWORK=$$BACKEND     Enable virtual network interface with $$BACKEND.'
>   	@echo '    NOUSER=1             Define to disable adding current user to containers passwd.'
>   	@echo '    NOCACHE=1            Ignore cache when build images.'
> +	@echo '    NOFETCH=1            Do not fetch from the registry.'
>   	@echo '    EXECUTABLE=<path>    Include executable in image.'
>   	@echo '    EXTRA_FILES="<path> [... <path>]"'
>   	@echo '                         Include extra files in image.'

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>