1. 27 Apr, 2021 3 commits
  2. 20 Apr, 2021 1 commit
    • Kenny Levinsen's avatar
      ci: Set timeouts on various stages · 700ede50
      Kenny Levinsen authored and Daniel Stone's avatar Daniel Stone committed
      
      
      Most of our stages take just a single minute to complete, while the standard
      timeout on gitlab CI is 60 minutes.
      
      Set a 5 minute timeout on quick stages, and a 30 minute timeout on the image
      build step to ensure we fail fast and don't tie up CI resources.
      Signed-off-by: Kenny Levinsen's avatarKenny Levinsen <kl@kl.wtf>
      700ede50
  3. 17 Apr, 2021 1 commit
    • Pekka Paalanen's avatar
      CI: a new style for LCOV reports · 64068211
      Pekka Paalanen authored and Pekka Paalanen's avatar Pekka Paalanen committed
      
      
      The standard style of LCOV HTML reports is a bit harsh to look at. This
      commit replaces it with a new one.
      
      The new CSS was written from scratch by looking at the HTML source code
      of a generated LCOV report. The original gcov.css file was not used.
      
      The color scheme is neutral, trying to avoid a Christmas tree effect.
      The colors are intended to be calm while also distinguishable, and not
      hamper text readability.
      
      The font lists were taken from Gitlab with the hope that it will blend
      in a little better when viewing from MR artifacts.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.com>
      64068211
  4. 15 Apr, 2021 1 commit
  5. 14 Apr, 2021 2 commits
    • Kenny Levinsen's avatar
      libweston/launcher: Allow VT switch without get_vt · 97d421a7
      Kenny Levinsen authored and Pekka Paalanen's avatar Pekka Paalanen committed
      
      
      get_vt is used to check if VTs are enabled, by verifying that a VT greater than
      0 is returned.
      
      libseat always implements switching, with switch to an active session
      currently being a noop in all backends. libseat does not currently have
      a get_vt implementation. Make get_vt errors more explicit, and allow VT
      switching anyway if the error is ENOSYS.
      Signed-off-by: Kenny Levinsen's avatarKenny Levinsen <kl@kl.wtf>
      97d421a7
    • Kenny Levinsen's avatar
      libweston/launcher: libseat backend · 6c4a993a
      Kenny Levinsen authored and Pekka Paalanen's avatar Pekka Paalanen committed
      
      
      This adds support for libseat as a seat backend. libseat provides seatd,
      (e)logind and direct seat backends as compile-time and runtime options.
      
      The backend is currently disabled by default. It can be enabled through the
      launcher-libseat option.
      Signed-off-by: Kenny Levinsen's avatarKenny Levinsen <kl@kl.wtf>
      6c4a993a
  6. 12 Apr, 2021 1 commit
  7. 10 Apr, 2021 2 commits
    • Marius Vlad's avatar
      backend-drm/state-propose: Check the surface buffer dimensions for cursor case · 7a465d85
      Marius Vlad authored and Daniel Stone's avatar Daniel Stone committed
      
      
      In some situations, like positioning a sub-surface that exceeds the
      output's dimensions we would adjust the plane state dimensions to some
      lower values to that of the buffer. That would ultimately trip the cursor
      update function because the buffer itself actually exceeds the maximum
      size/dimension of the cursor.
      
      The plane state destination co-ordinates is the area of the view which
      is visible on the output, which in some situations, would actually be
      smaller than the original buffer dimensions (making it so that it will
      pass the cropping/scaling check), but depending on of
      how large is the surface buffer, it would tripping the assert wrt to
      cursor width/height dimensions.
      
      This hasn't been seen so far due to the fact that until recently we had
      a cursor surface that always reached the cursor plane and that was
      already being set-up by default (with desktop-shell, which is no longer
      the case), and also because kiosk-shell, which doesn't set-up a cursor
      surface, was not available.
      
      This adds a check to skip placing the view in the cursor plane if the
      buffer dimensions exceed the cursor permitted width/height.
      (Suggested-by Daniel Stone).
      Signed-off-by: Marius Vlad's avatarMarius Vlad <marius.vlad@collabora.com>
      7a465d85
    • Jonathan Marler's avatar
      launcher: fix socket message race condition · f153c494
      Jonathan Marler authored and Daniel Stone's avatar Daniel Stone committed
      fixes issue #484
      
       (race condition with message to/from weston launch)
      
      The race condition occurs after weston sends the WESTON_LAUNCHER_OPEN
      message to weston-launch.  The race is between when weston-launch replies
      with the fd handle versus weston-launch sending an activation message.  If
      weston-launch sends an activation message before sending the fd handle,
      then weston will be in an invalid state.
      
      To fix this, I modified the fd handle reply that weston-launch sends to
      include a message id at the beginning, which I called
      WESTON_LAUNCHER_OPEN_REPLY.  Along with this, weston now inspects the
      first part of any reply to determine whether it is an activation message
      or a reply to the OPEN message.  In the newly handled case that it's an
      activation message, it tracks whether the latest result is a deactivate
      message and stores it in a flag to be handled once the open function has
      completed.
      Signed-off-by: Jonathan Marler's avatarJonathan Marler <johnnymarler@gmail.com>
      f153c494
  8. 07 Apr, 2021 8 commits
  9. 04 Apr, 2021 3 commits
  10. 01 Apr, 2021 1 commit
  11. 22 Mar, 2021 1 commit
  12. 18 Mar, 2021 1 commit
    • Pekka Paalanen's avatar
      doc: fix udev rule in calibration-helper.bash · 0b61620c
      Pekka Paalanen authored
      This used a cargo-culted form of the ACTION check. Kernel is allowed to
      invent new ACTIONs and IIRC there are already actions like bind and
      unbind.
      
      Udev events before rule processing always start with a clean property
      list. This means that if you only match ACTION==add to add some value to
      the event, then that value will not be present for ACTION==bind. Udev
      event consumers do not accumulate values, so inconsistent value setting
      may confuse them.
      
      Therefore one needs to match ACTION!=remove, not ACTION==add|change, to
      keep the device properties consistent for every event. It doesn't hurt
      to set them on remove either, but it's a habit to try to avoid
      processing when not strictly needed.
      
      This issue came up in
      #476 (comment 841430)
      
      For more information, see
      https://lists.freedesktop.org/archives/systemd-devel/2020-November/045570.html
      
      
      the part "KERNEL API INCOMPATIBILITY" near the beginning.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.com>
      0b61620c
  13. 16 Mar, 2021 1 commit
  14. 12 Mar, 2021 7 commits
  15. 09 Mar, 2021 2 commits
  16. 08 Mar, 2021 2 commits
    • Pekka Paalanen's avatar
      CI: work around Gitlab Cobertura parsing quirk · f6ff85b1
      Pekka Paalanen authored
      This should not be necessary, but my testing with fd.o Gitlab 13.9.1
      shows this is needed. Otherwise the coverage markings will not appear in
      a MR diff view.
      
      Apparently Gitlab has some problem with 'filename' attribute containing
      "../" in Cobertura XML files, even when that does result in a correct
      path. Or maybe the problem is is with the <source> path referring to the
      build dir which from Gitlab perspective does not exist in the project,
      even though builddir/../ is a good path.
      
      This sed hack removes the "../" part and the last element in the
      <source> path correspondingly.
      
      See !567
      
      
      for my testing.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.com>
      f6ff85b1
    • Pekka Paalanen's avatar
      CI: add test coverage results · e72119f1
      Pekka Paalanen authored
      This runs the coverage tools to produce HTML pages listing the code lines /
      functions / branches hit/totalled by the test suite.
      
      Nowadays Gitlab has some Cobertura support itself:
      https://docs.gitlab.com/ee/user/project/merge_requests/test_coverage_visualization.html
      
      
      
      lcov is needed for the HTML report, gcovr is needed for the Cobertura
      report. 'ninja clean' must be removed, otherwise it deletes the coverage
      files before they are analysed.
      
      Seeing the test suite code coverage is really interesting. It can guide
      designing tests. If Gitlab MRs show the coverage in diff view, it shows
      if new code actually gets executed in CI.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.com>
      e72119f1
  17. 04 Mar, 2021 1 commit
  18. 28 Feb, 2021 1 commit
  19. 25 Feb, 2021 1 commit