Skip to content
Snippets Groups Projects
  1. Mar 31, 2022
    • Arnaud Ferraris's avatar
      71470725
    • Arnaud Ferraris's avatar
      fetch-downstream: include additional licensing information · 7c144fef
      Arnaud Ferraris authored and Detlev Casanova's avatar Detlev Casanova committed
      
      In order to facilitate license compliance, the dashboard should report
      the most severe license issues found in packages from the "target"
      repository: this includes cases where we override the existing license
      information (especially when specifying a global default license) or
      packages for which whitelisting is enabled for the whole source tree.
      
      As part of this effort, this commit fetches the copyright override and
      whitelisting files, and process those in order to detect major issues.
      The corresponding new per-branch flags are then set accordingly and
      added to the output file.
      
      Signed-off-by: default avatarArnaud Ferraris <arnaud.ferraris@collabora.com>
      7c144fef
    • Arnaud Ferraris's avatar
      fetch-downstream: rework filtering method for clarity and completeness · 59e5999d
      Arnaud Ferraris authored and Detlev Casanova's avatar Detlev Casanova committed
      
      The `filter_cache()` method used an optional `check_tags` argument to
      decide between several code paths. This does not properly reflect the
      purpose of this argument, which is to differentiate between 2 use cases:
      - check and populate information about the descendants of a given ref
      - check and populate component and license information
      
      As additional fields will have to be taken into account in the future,
      this rework aims at making the aforementioned method more flexible,
      while making it clear to which use-case belongs each code path. To that
      effect, the `check_flags` argument is renamed to `purpose` and now uses
      an enum to distinguish between use-cases. It also only processes the
      relevant data for the current use-case:
      - when checking for descendants, only descendants data is looked up and
        updated
      - when checking for license info, only this information is checked and
        updated
      
      Signed-off-by: default avatarArnaud Ferraris <arnaud.ferraris@collabora.com>
      59e5999d
  2. Mar 28, 2022
  3. Mar 21, 2022
  4. Mar 17, 2022
  5. Mar 14, 2022
  6. Feb 11, 2022
  7. Feb 08, 2022
    • Emanuele Aina's avatar
      fetch-downstream: Fix branch version detection · 19fe3eda
      Emanuele Aina authored
      
      Retrieve all descendants to correctly detect when a branch got merged in
      another and which tags apply.
      
      Unfortunately `commit.refs()` does not currently handle pagination, so
      only the first 20 items were downloaded.
      
      This meant that in some cases no tags were returned, so no version could
      be computed. In other cases this may have cause incorrect reports of
      branches not being merged into their downstream, or other issues due to
      computing the wrong version for the branch.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      19fe3eda
  8. Jan 31, 2022
  9. Jan 30, 2022
  10. Jan 28, 2022
  11. Jan 24, 2022
    • Emanuele Aina's avatar
      dashboard: Apply filters more consistently · 48dca0c7
      Emanuele Aina authored and Vignesh Raman's avatar Vignesh Raman committed
      
      Applying filters one-at-a-time can lead do broken behavior:
      
      * deselect both the `info` and `error` severity checkboxes
      * all reports are correctly hidden
      * deselect the `apertis/v2021` channels checkbox
      * all the other reports incorrectly show up again, regardless of
        their severity
      
      This is because when applying the updated channels filter the code does
      not look at the other active filters.
      
      Tweak the code to always check *all* filters regardless of the one that
      has been updated.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      48dca0c7
  12. Jan 21, 2022
  13. Jan 15, 2022
    • Emanuele Aina's avatar
      check-invariant: Print the current package name on errors · 1912eb12
      Emanuele Aina authored
      
      When getting an exception, ensure the current package name is printed to
      debug which one has faulty data.
      
      For instance this is now the output, previously only the first exception
      was printed:
      
          Traceback (most recent call last):
            File "./bin/packaging-check-invariants", line 586, in <module>
              checker.check_missing_license_report(package)
            File "./bin/packaging-check-invariants", line 533, in check_missing_license_report
              if branch.component == "target" and not branch.license_report:
            File "./bin/packaging-check-invariants", line 90, in __getattr__
              item = super(DictWrapper, self).__getitem__(attr)
          KeyError: 'component'
      
          The above exception was the direct cause of the following exception:
      
          Traceback (most recent call last):
            File "./bin/packaging-check-invariants", line 588, in <module>
              raise Error(package.name) from e
          __main__.Error: aalib
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      1912eb12
    • Emanuele Aina's avatar
      check-invariants: Move the loop outside to reduce nesting · 907e2c55
      Emanuele Aina authored
      
      Get rid of an indentation level by moving the iteration over the
      packages out of the check functions.
      
      This also will make improving error reporting easier since the package
      context of each check is now clearly defined when calling it.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      907e2c55
  14. Jan 14, 2022
  15. Jan 13, 2022
  16. Jan 04, 2022
  17. Dec 31, 2021
  18. Dec 27, 2021
  19. Dec 23, 2021
    • Emanuele Aina's avatar
      localtest: Avoid recursion! · 00c3d5b5
      Emanuele Aina authored and Walter Lozano's avatar Walter Lozano committed
      
      The `./localtest` script was skipping the `lint` job, not the `lint`
      stage, so when I added the job to exercise `./localtest` itself during
      the `lint` stage I have caused `./localtest` to appear in its own
      output, which means that if you pipe it into a shell it will call
      itself. Luckily recursion will stop there and this is about not doing
      something pointless rather than actually fixing something broken.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      00c3d5b5
  20. Dec 22, 2021
  21. Dec 21, 2021
Loading