Skip to content
Snippets Groups Projects
  1. Sep 09, 2024
  2. Sep 05, 2024
  3. Sep 02, 2024
  4. Jun 27, 2024
  5. Jun 22, 2024
  6. Jun 16, 2024
    • Gaël Bonithon's avatar
      ci: Do not store clang-format-diff output · 6050c993
      Gaël Bonithon authored
      I had originally used a log file in !101 because clang-format-diff <= 17
      didn't emit an error code in the event of non-empty output, but this is
      no longer the case with clang-format-diff >=18, so the use of this file
      is no longer justified.
      
      Amends: cbbceb2fa207a56a74abf77d14054b76a201ba03
      6050c993
    • Gaël Bonithon's avatar
      ci: Enable on maintenance branches · 779e4363
      Gaël Bonithon authored
      779e4363
    • Gaël Bonithon's avatar
      ci: Only run static analysis jobs on default branch · add69d4e
      Gaël Bonithon authored
      i.e. for commits on default branch and merge requests against default
      branch. Do not run these jobs for tags, it's pretty useless and would
      force us to distinguish between tags on default branch and tags on
      maintenance branches.
      
      Do not run these jobs on translation commits either, since in this case
      the build jobs didn't run (unfortunately 'needs' doesn't handle this
      automatically).
      
      Amends: 8bf2175d178313c2b6b6a7efb634cd98917c2290
      add69d4e
    • Gaël Bonithon's avatar
      ci: Make false-positive patterns match a single warning · 0466aff7
      Gaël Bonithon authored
      Otherwise, it's possible for a pattern to correspond to several
      warnings, not all of which are false positives. By adding sufficiently
      precise patterns as indicated in the comments, this is unlikely, but not
      impossible.
      
      In the case of this pattern, for example, currently present in
      xfce4-panel:
      tasklist-widget.c:[0-9]+:[0-9]+: warning: dereference of NULL 'child' \[CWE-476\] \[-Wanalyzer-null-dereference\]
      the 'child' variable has enough occurrences in the tasklist-widget.c
      file that the risk of a multiple match cannot be ruled out.
      
      The simplest way to specify a multiple match seems to be to add the
      pattern several times, instead of specifying the number of matches,
      which would require additional parsing with a delimiter.
      
      Amends: 8bf2175d178313c2b6b6a7efb634cd98917c2290
      0466aff7
    • Gaël Bonithon's avatar
      ci: Explicitly specify C++ compilers · b3a9f742
      Gaël Bonithon authored
      This may be necessary in certain situations, for example when performing
      static analysis with scan-build, to ensure that the standard C++ library
      is added to the linker. See
      panel-plugins/xfce4-sensors-plugin#48 (comment 90769)
      b3a9f742
  7. Jun 09, 2024
  8. Jun 04, 2024
    • Gaël Bonithon's avatar
      ci: Add static analysis jobs · 8bf2175d
      Gaël Bonithon authored
      This requires extra effort on the part of maintainers, and is therefore
      disabled by default. To activate these jobs, you need to add the CI/CD
      variables GCC_ANALYZER and/or SCAN_BUILD to each project.
      
      These static analysis tools are quite prone to false positives, so for
      these jobs to be useful, it seems the right approach is to not allow
      them to fail and maintain false positive files (otherwise we risk
      getting used to seeing them fail and simply not paying attention). How
      to fill in these files is indicated in the comments.
      
      As we only change software versions every two years in CI, the extra
      maintenance effort should be quite small though, once the first warnings
      have been fixed or ignored. The fact remains, however, that their
      analysis can be more tortuous and time-consuming than that of simple
      compiler warnings.
      
      Also, the list of warnings not to be turned into errors for the gcc
      analyzer will need to be updated every time we change version, i.e.
      again every two years (otherwise the build-gcc job is likely to fail
      when checking the compiler during configuration).
      
      Closes: #51
      8bf2175d
    • Gaël Bonithon's avatar
      ci: Rename .make hidden job to .configure · 1141463d
      Gaël Bonithon authored
      Jobs and inheritances are starting to pile up, so it's best to give
      things a name that won't cause confusion.
      1141463d
    • Gaël Bonithon's avatar
      ci: Add clang build · 9fc85a25
      Gaël Bonithon authored
      9fc85a25
    • Gaël Bonithon's avatar
      ci: Build with --disable-debug in distcheck stage · 6943d356
      Gaël Bonithon authored
      In addition to the --enable-debug=werror (i.e. full + -Werror) of the
      build stage, so we should compile all code paths (relative to debug
      mode). This requires projects not to use DISTCHECK_CONFIGURE_FLAGS
      directly in their Makefile.am, but AM_DISTCHECK_CONFIGURE_FLAGS, so that
      the flags we set here are not overwritten.
      6943d356
    • Gaël Bonithon's avatar
      ci: Only run a stage if previous didn't failed · 6d51a3b0
      Gaël Bonithon authored
      This is the default behavior that seems to have been overwritten for no
      good reason. Typically distcheck should not run if build has failed.
      6d51a3b0
    • Gaël Bonithon's avatar
      ci: Avoid clang-format job failure if diff is empty · 1fef4bc2
      Gaël Bonithon authored
      This is a corner case, but it can happen when a sequence of commits
      results in an empty diff (for example, a commit followed by a revert).
      
      Fixes: cbbceb2f
      1fef4bc2
  9. May 29, 2024
  10. May 28, 2024
    • Gaël Bonithon's avatar
      ci: Add no-x11 and no-wayland builds · d977c942
      Gaël Bonithon authored
      Instead of adding them to each project, and thus having them as correct
      .build extensions. This remains opt-in, with projects wishing to
      activate these builds having to define (X11|WAYLAND)_FEATURE CI/CD
      variables. I had originally thought of parsing configure.ac to detect
      this, but it doesn't seem to be supported; maybe that's better.
      d977c942
    • Gaël Bonithon's avatar
      ci: Make build stage fail on any compiler warning · dee6ec44
      Gaël Bonithon authored
      Including on glib deprecation warnings, which are probably the only ones
      we care about.
      
      This assumes that XDT_FEATURE_DEBUG is used on all projects where
      build_project.yml is included, which is currently the case.
      
      This only applies to the build stage, as other distcheck-specific
      warnings may appear that we don't necessarily want to turn into errors,
      especially on vala projects. Also, this leaves open the possibility of
      applying another debug level to distcheck, and thus compiling other code
      paths.
      dee6ec44
  11. May 27, 2024
  12. Apr 27, 2024
  13. Apr 26, 2024
  14. Apr 07, 2024
  15. Feb 22, 2024
  16. Nov 01, 2023
  17. Oct 31, 2023
  18. Sep 28, 2023
  19. Jun 02, 2023
  20. Apr 20, 2023
  21. Apr 12, 2023
  22. Apr 10, 2023
  23. Mar 05, 2023
Loading