[PATCH 3/4] gitlab-ci: Run GNU make via the $MAKE variable

Philippe Mathieu-Daudé posted 4 patches 3 years, 4 months ago
There is a newer version of this series
[PATCH 3/4] gitlab-ci: Run GNU make via the $MAKE variable
Posted by Philippe Mathieu-Daudé 3 years, 4 months ago
Add the $MAKE variable to call GNU make, and set it to 'gmake'
on FreeBSD to avoid:

  $ make -j"$JOBS"
  make: Unknown modifier ','
  make: "/builds/dTyar424/0/qemu/build/Makefile" line 3: Need an operator
  make: "/builds/dTyar424/0/qemu/build/Makefile" line 4: Missing dependency operator

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 .gitlab-ci.yml | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index aceaac5a398..a33e51bf453 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -19,9 +19,11 @@ include:
         test $(uname) = "FreeBSD"
         ;
       then
+        MAKE=gmake
         JOBS=$(sysctl -n hw.ncpu)
         ;
       else
+        MAKE=make
         JOBS=$(expr $(nproc) + 1)
         ;
       fi
@@ -44,22 +46,23 @@ include:
       then
         meson configure . -Dbackend_max_links="$LD_JOBS" ;
       fi || exit 1;
-    - make -j"$JOBS"
+    - $MAKE -j"$JOBS"
     - if test -n "$MAKE_CHECK_ARGS";
       then
-        make -j"$JOBS" $MAKE_CHECK_ARGS ;
+        $MAKE -j"$JOBS" $MAKE_CHECK_ARGS ;
       fi
 
 .native_test_job_template:
   stage: test
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
+  extends: .environment_variables_template
   script:
     - scripts/git-submodule.sh update
         $(sed -n '/GIT_SUBMODULES=/ s/.*=// p' build/config-host.mak)
     - cd build
     - find . -type f -exec touch {} +
     # Avoid recompiling by hiding ninja with NINJA=":"
-    - make NINJA=":" $MAKE_CHECK_ARGS
+    - $MAKE NINJA=":" $MAKE_CHECK_ARGS
 
 .acceptance_template: &acceptance_definition
   cache:
@@ -833,17 +836,18 @@ build-tools-and-docs-debian:
 pages:
   image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest
   stage: test
+  extends: .environment_variables_template
   needs:
     - job: build-tools-and-docs-debian
   script:
     - mkdir -p public
     # HTML-ised source tree
-    - make gtags
+    - $MAKE gtags
     - htags -anT --tree-view=filetree -m qemu_init
         -t "Welcome to the QEMU sourcecode"
     - mv HTML public/src
     # Project documentation
-    - make -C build install DESTDIR=$(pwd)/temp-install
+    - $MAKE -C build install DESTDIR=$(pwd)/temp-install
     - mv temp-install/usr/local/share/doc/qemu/* public/
   artifacts:
     paths:
-- 
2.26.3

Re: [PATCH 3/4] gitlab-ci: Run GNU make via the $MAKE variable
Posted by Philippe Mathieu-Daudé 3 years, 4 months ago
On 5/10/21 5:22 PM, Philippe Mathieu-Daudé wrote:
> Add the $MAKE variable to call GNU make, and set it to 'gmake'
> on FreeBSD to avoid:
> 
>   $ make -j"$JOBS"
>   make: Unknown modifier ','
>   make: "/builds/dTyar424/0/qemu/build/Makefile" line 3: Need an operator
>   make: "/builds/dTyar424/0/qemu/build/Makefile" line 4: Missing dependency operator
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  .gitlab-ci.yml | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index aceaac5a398..a33e51bf453 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -19,9 +19,11 @@ include:
>          test $(uname) = "FreeBSD"
>          ;
>        then
> +        MAKE=gmake
>          JOBS=$(sysctl -n hw.ncpu)
>          ;
>        else
> +        MAKE=make
>          JOBS=$(expr $(nproc) + 1)
>          ;
>        fi
> @@ -44,22 +46,23 @@ include:
>        then
>          meson configure . -Dbackend_max_links="$LD_JOBS" ;
>        fi || exit 1;
> -    - make -j"$JOBS"
> +    - $MAKE -j"$JOBS"
>      - if test -n "$MAKE_CHECK_ARGS";
>        then
> -        make -j"$JOBS" $MAKE_CHECK_ARGS ;
> +        $MAKE -j"$JOBS" $MAKE_CHECK_ARGS ;
>        fi
>  
>  .native_test_job_template:
>    stage: test
>    image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
> +  extends: .environment_variables_template
>    script:
>      - scripts/git-submodule.sh update
>          $(sed -n '/GIT_SUBMODULES=/ s/.*=// p' build/config-host.mak)
>      - cd build
>      - find . -type f -exec touch {} +
>      # Avoid recompiling by hiding ninja with NINJA=":"
> -    - make NINJA=":" $MAKE_CHECK_ARGS
> +    - $MAKE NINJA=":" $MAKE_CHECK_ARGS
>  
>  .acceptance_template: &acceptance_definition
>    cache:

I forgot this hunk:

-- >8 --
@@ -70,6 +70,7 @@ include:
     - $MAKE NINJA=":" $MAKE_CHECK_ARGS

 .acceptance_template: &acceptance_definition
+  extends: .environment_variables_template
   cache:
     key: "${CI_JOB_NAME}-cache"
     paths:
---

> @@ -833,17 +836,18 @@ build-tools-and-docs-debian:
>  pages:
>    image: $CI_REGISTRY_IMAGE/qemu/debian-amd64:latest
>    stage: test
> +  extends: .environment_variables_template
>    needs:
>      - job: build-tools-and-docs-debian
>    script:
>      - mkdir -p public
>      # HTML-ised source tree
> -    - make gtags
> +    - $MAKE gtags
>      - htags -anT --tree-view=filetree -m qemu_init
>          -t "Welcome to the QEMU sourcecode"
>      - mv HTML public/src
>      # Project documentation
> -    - make -C build install DESTDIR=$(pwd)/temp-install
> +    - $MAKE -C build install DESTDIR=$(pwd)/temp-install
>      - mv temp-install/usr/local/share/doc/qemu/* public/
>    artifacts:
>      paths:
>