[spice-gtk,v4,21/29] CI: Add --werror

Submitted by Frediano Ziglio on Aug. 27, 2019, 9:22 a.m.

Details

Message ID 20190827092246.10276-22-fziglio@redhat.com
State Superseded
Headers show
Series "added feature of sharing CD image" ( rev: 6 ) in Spice

Not browsing as part of any series.

Commit Message

Frediano Ziglio Aug. 27, 2019, 9:22 a.m.
Give errors on warnings, we want the code to compile without
warnings, at least with CI.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
---
 .gitlab-ci.yml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Patch hide | download patch | download mbox

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fa70f7ad..8bcef65d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,11 +28,11 @@  fedora:
   before_script:
     - dnf install -y $DEPS_COMMON $DEPS_FEDORA
     - git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
-    - meson --buildtype=release spice-protocol build-spice-protocol --prefix=/usr
+    - meson --buildtype=release spice-protocol build-spice-protocol --prefix=/usr --werror
     - ninja -C build-spice-protocol install
 
   script:
-    - meson --buildtype=release build-default
+    - meson --buildtype=release build-default --werror
     # Meson does not update submodules recursively
     - git submodule update --init --recursive
     # this fix an issue with Meson dist
@@ -42,7 +42,7 @@  fedora:
     - ninja -C build-default
     - ninja -C build-default test
 
-    - meson --buildtype=release build-feat-disabled -Dauto_features=disabled
+    - meson --buildtype=release build-feat-disabled -Dauto_features=disabled --werror
     - ninja -C build-feat-disabled
     - ninja -C build-feat-disabled test
 
@@ -58,11 +58,11 @@  windows:
     - dnf install -y $DEPS_COMMON $DEPS_MINGW
     - git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
     - mkdir spice-protocol/build-spice-protocol && cd spice-protocol/build-spice-protocol
-    - mingw64-meson --buildtype=release --prefix=/usr
+    - mingw64-meson --buildtype=release --prefix=/usr --werror
     - ninja install
 
   script:
     - cd $CI_PROJECT_DIR
     - mkdir build-win64 && cd build-win64
-    - mingw64-meson --buildtype=release -Dgtk_doc=disabled
+    - mingw64-meson --buildtype=release -Dgtk_doc=disabled --werror
     - ninja install

Comments

Frediano Ziglio writes:

> Give errors on warnings, we want the code to compile without
> warnings, at least with CI.

Looks good to me, but from experience with other projects,
new compiler releases tend to add new warnings that will break
your builds. You don't control the release timeline of compilers
in your CI environment. So just be ready to scramble-fix
new compiler-introduced "errors".

>
> Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
> ---
>  .gitlab-ci.yml | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index fa70f7ad..8bcef65d 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -28,11 +28,11 @@ fedora:
>    before_script:
>      - dnf install -y $DEPS_COMMON $DEPS_FEDORA
>      - git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
> -    - meson --buildtype=release spice-protocol build-spice-protocol --prefix=/usr
> +    - meson --buildtype=release spice-protocol build-spice-protocol --prefix=/usr --werror
>      - ninja -C build-spice-protocol install
>
>    script:
> -    - meson --buildtype=release build-default
> +    - meson --buildtype=release build-default --werror
>      # Meson does not update submodules recursively
>      - git submodule update --init --recursive
>      # this fix an issue with Meson dist
> @@ -42,7 +42,7 @@ fedora:
>      - ninja -C build-default
>      - ninja -C build-default test
>
> -    - meson --buildtype=release build-feat-disabled -Dauto_features=disabled
> +    - meson --buildtype=release build-feat-disabled -Dauto_features=disabled --werror
>      - ninja -C build-feat-disabled
>      - ninja -C build-feat-disabled test
>
> @@ -58,11 +58,11 @@ windows:
>      - dnf install -y $DEPS_COMMON $DEPS_MINGW
>      - git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
>      - mkdir spice-protocol/build-spice-protocol && cd spice-protocol/build-spice-protocol
> -    - mingw64-meson --buildtype=release --prefix=/usr
> +    - mingw64-meson --buildtype=release --prefix=/usr --werror
>      - ninja install
>
>    script:
>      - cd $CI_PROJECT_DIR
>      - mkdir build-win64 && cd build-win64
> -    - mingw64-meson --buildtype=release -Dgtk_doc=disabled
> +    - mingw64-meson --buildtype=release -Dgtk_doc=disabled --werror
>      - ninja install


--
Cheers,
Christophe de Dinechin (IRC c3d)

> 
> Hi,
> 
> On Tue, Aug 27, 2019 at 12:43:36PM +0200, Christophe de Dinechin wrote:
> > 
> > Frediano Ziglio writes:
> > 
> > > Give errors on warnings, we want the code to compile without
> > > warnings, at least with CI.
> > 
> > Looks good to me, but from experience with other projects,
> > new compiler releases tend to add new warnings that will break
> > your builds. You don't control the release timeline of compilers
> > in your CI environment. So just be ready to scramble-fix
> > new compiler-introduced "errors".
> 
> That's true but somehow better to know and act either by fixing
> or blacklisting them.
> 

I would had that we did this in spice-server for different releases
of both spice-server and Fedora and is not really overkilling, usually
there's a compiler bump when the distro changes release so kind of
twice a year, and we can temporarily force the old release.

> Patch seems fine to me as well,
> Acked-by: Victor Toso <victortoso@redhat.com>
> 
> > > Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
> > > ---
> > >  .gitlab-ci.yml | 10 +++++-----
> > >  1 file changed, 5 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > > index fa70f7ad..8bcef65d 100644
> > > --- a/.gitlab-ci.yml
> > > +++ b/.gitlab-ci.yml
> > > @@ -28,11 +28,11 @@ fedora:
> > >    before_script:
> > >      - dnf install -y $DEPS_COMMON $DEPS_FEDORA
> > >      - git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
> > > -    - meson --buildtype=release spice-protocol build-spice-protocol
> > > --prefix=/usr
> > > +    - meson --buildtype=release spice-protocol build-spice-protocol
> > > --prefix=/usr --werror
> > >      - ninja -C build-spice-protocol install
> > >
> > >    script:
> > > -    - meson --buildtype=release build-default
> > > +    - meson --buildtype=release build-default --werror
> > >      # Meson does not update submodules recursively
> > >      - git submodule update --init --recursive
> > >      # this fix an issue with Meson dist
> > > @@ -42,7 +42,7 @@ fedora:
> > >      - ninja -C build-default
> > >      - ninja -C build-default test
> > >
> > > -    - meson --buildtype=release build-feat-disabled
> > > -Dauto_features=disabled
> > > +    - meson --buildtype=release build-feat-disabled
> > > -Dauto_features=disabled --werror
> > >      - ninja -C build-feat-disabled
> > >      - ninja -C build-feat-disabled test
> > >
> > > @@ -58,11 +58,11 @@ windows:
> > >      - dnf install -y $DEPS_COMMON $DEPS_MINGW
> > >      - git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
> > >      - mkdir spice-protocol/build-spice-protocol && cd
> > >      spice-protocol/build-spice-protocol
> > > -    - mingw64-meson --buildtype=release --prefix=/usr
> > > +    - mingw64-meson --buildtype=release --prefix=/usr --werror
> > >      - ninja install
> > >
> > >    script:
> > >      - cd $CI_PROJECT_DIR
> > >      - mkdir build-win64 && cd build-win64
> > > -    - mingw64-meson --buildtype=release -Dgtk_doc=disabled
> > > +    - mingw64-meson --buildtype=release -Dgtk_doc=disabled --werror
> > >      - ninja install
> > 
> > 
> > --
> > Cheers,
> > Christophe de Dinechin (IRC c3d)