Skip to content
Snippets Groups Projects
  1. Sep 13, 2024
  2. Jul 18, 2024
  3. Jul 16, 2024
  4. Jul 12, 2024
  5. Jun 28, 2024
  6. Feb 22, 2024
  7. Jan 30, 2024
  8. Jan 22, 2024
  9. Nov 04, 2023
    • Walter Lozano's avatar
      Switch to lightweight runners · a122dd3e
      Walter Lozano authored
      
      After switching to use JSON as format for the outcome of the different
      steps in the dashboard the resources needed drop dramatically. In this
      context the use of lightweight runners should be sufficient and it is
      preferable to reduce costs.
      
      Signed-off-by: default avatarWalter Lozano <walter.lozano@collabora.com>
      a122dd3e
    • Walter Lozano's avatar
      Use JSON to improve efficiency · 254b71ed
      Walter Lozano authored
      
      YAML is a nice format, very easy to read, unfortunately the Python YAML
      library is very inefficient both CPU and memory wise. Loading the same
      content using JSON takes 10 times less memory and time.
      
      Since dashboard is always struggling with OOM, let's use JSON for the data
      it produces.
      
      As reference, below results of importing a 10 MB file with YAML and JSON
      are presented
      
      yaml-json $ ./test.py yaml
      Time 15.507138013839722 seg
      Memory (70914086, 394044198) bytes (current, peak)
      
      yaml-json $ ./test.py json
      Time 0.6210496425628662 seg
      Memory (58913059, 67501787) bytes (current, peak)
      
      Signed-off-by: default avatarWalter Lozano <walter.lozano@collabora.com>
      254b71ed
    • Walter Lozano's avatar
      Only pass cache if file is not empty · deb6cc98
      Walter Lozano authored
      
      In commit 797862 the logic continues even if the cache file cannot be
      downloaded. Unfortunately this approach is buggy since wget can create
      empty files if the download fails.
      
      To avoid passing an invalid cache file, check if file is not empty.
      
      Signed-off-by: default avatarWalter Lozano <walter.lozano@collabora.com>
      deb6cc98
  10. Nov 03, 2023
    • Walter Lozano's avatar
      Continue job if cache cannot be retrieved · 7978628f
      Walter Lozano authored and Emanuele Aina's avatar Emanuele Aina committed
      In some circumstances there is no valid artifact to download to be
      used as cache causing the job to fail. In such a case, instead of
      aborting the job just continue without cache.
      
      As reference:
      
      $ CACHE_ARGS=""
      $ ARTIFACT_URL=${ARTIFACT_URL:-$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$CI_DEFAULT_BRANCH/raw/packaging-cache.yaml?job=pages}
      $ if [ "$ARTIFACT_URL" != none ] && [ "$DISABLE_CACHE" == "no" ] && [ "$FILTER_ON_CACHE" == "yes" ] # collapsed multi-line command
      --2023-10-24 18:16:17--  https://gitlab.apertis.org/api/v4/projects/6587/jobs/artifacts/master/raw/packaging-cache.yaml?job=pages
      
      
      Resolving gitlab.apertis.org (gitlab.apertis.org)... 116.203.10.182, 2a01:4f8:1c0c:80ad::1
      Connecting to gitlab.apertis.org (gitlab.apertis.org)|116.203.10.182|:443... connected.
      HTTP request sent, awaiting response... 404 Not Found
      2023-10-24 18:16:18 ERROR 404: Not Found.
      
      Signed-off-by: default avatarWalter Lozano <walter.lozano@collabora.com>
      7978628f
  11. Nov 02, 2023
    • Emanuele Aina's avatar
      Adopt exponential backoff when retrying · 9fc43368
      Emanuele Aina authored
      The current naive approach at retrying is not exactly gentle: if the
      server is overloaded we retry right ahead making the problem just worse.
      
      See https://encore.dev/blog/retries
      
       for a fun explanation of how the
      naive approach can be catastrophic.
      
      Fortunately the `tenacity` library allow us to add a bounded exponential
      backoff while also making the code easier to understand.
      
      This should make the dashboard behave much better toward GitLab and OBS
      when they hit some issue.
      
      Signed-off-by: Emanuele Aina's avatarEmanuele Aina <emanuele.aina@collabora.com>
      9fc43368
  12. Sep 06, 2023
  13. Sep 05, 2023
  14. Sep 04, 2023
  15. Aug 23, 2023
  16. Aug 17, 2023
  17. Aug 16, 2023
  18. Aug 04, 2023
  19. Jul 24, 2023
  20. Jul 23, 2023
  21. Jun 22, 2023
  22. Feb 16, 2023
    • Dylan Aïssi's avatar
      Filter out packages not in Apertis during the packaging-data-fetch-sources-upstream job · 38e0fc03
      Dylan Aïssi authored
      
      Fetching upstream sources data for all Debian packages (~ 38100 pkgs)
      and not only those in Apertis (~ 5600 pkgs) generates big YAML files
      containing useless data. Processing these files lead to frequent
      out-of-memory issues. To reduce the memory consumption, we can filter out
      all packages not available in Apertis based on the cache file.
      
      This job produces a 42 MB YAML file, merging this file with others YAML
      files leads to out-of-memory issues in downstream jobs. Filtering the
      generated YAML file at this step reduces the size to only 8 MB.
      
      Signed-off-by: default avatarDylan Aïssi <dylan.aissi@collabora.com>
      38e0fc03
  23. Jan 11, 2023
  24. Dec 21, 2022
  25. Dec 08, 2022
  26. Dec 05, 2022
Loading