1. 17 Sep, 2024 2 commits
    • Xavier Thompson's avatar
      d288911a
    • Xavier Thompson's avatar
      slapconfiguration:jsonschema: Add set-default · c7db2923
      Xavier Thompson authored
      Add `set-default` options to slapconfiguration:jsonschema.
      Accepted values are `all|main|shared|none`.
      Default value is `none`.
      
      These allow controlling whether default values of parameters that
      where not provided by the user are set from the defaults given in
      the JSON schema. The default behavior of the recipe is now not to
      add any defaults. The new option allows adding all defaults, only
      the defaults of the main instance, or only the defaults of shared
      instances.
      c7db2923
  2. 13 Sep, 2024 2 commits
    • Xavier Thompson's avatar
      df2bc8bc
    • Xavier Thompson's avatar
      slapconfiguration: Add .jsonschema recipe · 5cdbaf6f
      Xavier Thompson authored
      [slapconfiguration]
      <= slap-connection
      recipe = slapos.cookbook:slapconfiguration.jsonschema
      jsonschema = ${buildout:directory}/software.cfg.json
      
      The recipe validates instance parameters against the JSON schema, and
      automatically fills in values of parameters left unset from defaults
      specified in the schema, both for the main instance and for every
      shared instance, if any.
      
      Validation error or conflicting defaults - when the instance validates
      multiple combined schemas that each set different defaults - can occur.
      
      In case of error in the main instance parameters, the recipe raises an
      exception. Otherwise, the completed instance parameters are available
      in `configuration`.
      
      For shared instances, valid and conflict-free instances are
      collected in `valid-shared-instance-list` as dicts in the form of:
      ```
      {'reference': "...", 'parameters': {...}}
      ```
      with parameters completed by defaults as appropriate.
      
      Invalid shared instances are collected in `invalid-slave-instance-list`
      as dicts in the form of:
      ```
      {'reference': "...", 'parameters': {...}, 'errors': [...]}
      ```
      with parameters left as-is without added defaults.
      5cdbaf6f
  3. 05 Sep, 2024 1 commit
    • Xavier Thompson's avatar
      slapconfiguration: Enable <= slap-connection · 5fb78e4c
      Xavier Thompson authored
      Introduce alternative names for input parameters to enable
      
      ```
      [slap-configuration]
      <= slap-connection
      recipe = slapos.cookbook:slapconfiguration
      ```
      
      instead of
      
      ```
      [slap-configuration]
      recipe = slapos.cookbook:slapconfiguration
      computer = ${slap-connection:computer-id}
      partition = ${slap-connection:partition-id}
      url = ${slap-connection:server-url}
      key = ${slap-connection:key-file}
      cert = ${slap-connection:cert-file}
      ```
      5fb78e4c
  4. 03 Sep, 2024 2 commits
    • Xavier Thompson's avatar
      software/theia: Make each clone favicon different · e1e4ed3f
      Xavier Thompson authored
      Fix clone favicon being the same as the main instance favicon - this
      is an uncaught regression. Add a test for it. Also give each clone a
      different favicon, in case there are several clones.
      
      See merge request nexedi/slapos!1637
      e1e4ed3f
    • Carlos Ramos Carreño's avatar
      component/inkscape: Compile with recent enough GCC · 017a3e6d
      Carlos Ramos Carreño authored
      When using older GCC versions (e.g. 8.3.0), Inkscape fails with an error
      similar to:
      
      ```C++
      /srv/slapgrid/slappart15/srv/runner/instance/slappart7/tmp/shared/inkscape/31c6ae5c72c5325d479cca38e62b82bb/.build/inkscape-1.3.2_2023-11-25_091e20ef0f/src/ui/tools/booleans-subitems.cpp: In lambda function:
      /srv/slapgrid/slappart15/srv/runner/instance/slappart7/tmp/shared/inkscape/31c6ae5c72c5325d479cca38e62b82bb/.build/inkscape-1.3.2_2023-11-25_091e20ef0f/src/ui/tools/booleans-subitems.cpp:213:61: error: cannot deduce template arguments for ‘uniform_real_distribution’ from ()
           auto ranf = [&] { return std::uniform_real_distribution()(gen); };
      ```
      
      This may be an instance of this problem:
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81486
      
      In any case, setting a minimum version of 10.5 for GCC when building
      Inkscape, as done in this commit, seems to fix this.
      
      See merge request nexedi/slapos!1634
      017a3e6d
  5. 02 Sep, 2024 5 commits
  6. 29 Aug, 2024 5 commits
  7. 16 Aug, 2024 8 commits
    • Xavier Thompson's avatar
      software/theia: Improve resiliency tests · e5265943
      Xavier Thompson authored
      e5265943
    • Thomas Gambier's avatar
      wendelin.core: v↑ 2.0.alpha3..post9 -> 2.0.alpha3.post22 · b83c9bcc
      Thomas Gambier authored
      wendelin.core 2.0.alpha3.post22 supports being installed by newest
      version of pip/setuptools
      
      See nexedi/slapos!1602 (comment 212191)
      b83c9bcc
    • Xavier Thompson's avatar
      software/rapid-cdn: Remove useless update-command · 27e49380
      Xavier Thompson authored
      The rapid-cdn software.cfg manually downloads/copies a setup.py and
      a software.py into a folder and then installs it as a develop egg.
      
      Installing a develop-egg creates a .egg-info or a .dist-info into
      the source folder.
      
      In rapid-cdn/software.cfg an update-command resulted in the folder
      being deleted and recreated on every update for no gain. This also
      deleted the .egg-info or .dist-info, breaking the develop egg
      installation.
      
      With the zc.buildout 3.0.1+slapos003 release, zc.recipe.egg:develop
      is now able to detect such cases and trigger the reinstallation of
      the .egg-info or .dist-info. Still, this update-command remains the
      cause of useless computations.
      27e49380
    • Xavier Thompson's avatar
      slapos-sr-testing: Add test for slapos-testing · e923d82a
      Xavier Thompson authored
      Test that slapos-testing compiles and instantiates for each Python
      version (software.cfg, software-py2.cfg, software-py3next.cfg).
      e923d82a
    • Xavier Thompson's avatar
      software/monitor: Downgrade scipy for resolution · a823ea99
      Xavier Thompson authored
      Donwgrade scipy to be compatible with the version of numpy pinned
      in software/monitor - itself downgraded to be compatible with the
      version of statsmodels currently pinned to 0.11.1. Upgrading this
      will first require adjusting the code in slapos.toolbox that uses
      statsmodels, as the next version has breaking changes in the API.
      a823ea99
    • Xavier Thompson's avatar
      component/scipy: Version up 1.12.0 · 5ee340bf
      Xavier Thompson authored
      Version up scipy=1.12.0 because scipy 1.8.1 is not compatible with
      Python 3.11.
      5ee340bf
    • Xavier Thompson's avatar
      component/macros: Add macro.variable.eggs · 7a735fcd
      Xavier Thompson authored
      This is a generalisation of macro.pythonpath.eggs which allows paths
      from eggs to be placed into any environment variable, and provides a
      way to specify subpaths for each egg from the egg location.
      
      Like macro.pythonpath.eggs, the environment variable is placed in an
      environment section at install time after the eggs are installed and
      before the environment section is read by the section which uses it.
      
      ```
      [environment-section]
      PATH = some/path
      
      [modify-environment]
      <= macro.variable.eggs
      variable = ANY_VARIABLE
      eggs =
        blue_egg
        yellow_egg
        red_egg
      subpaths =
        blue_egg subpath/specific/to/blue
        yellow_egg subpath/specific/to/yellow
      
      [section-that-uses-environment]
      recipe = zc.recipe.egg:custom
      environment = environment-section
      depends =
        ${modify-environment:recipe}
      
      ```
      7a735fcd
    • Xavier Thompson's avatar
  8. 12 Aug, 2024 1 commit
  9. 08 Aug, 2024 1 commit
  10. 02 Aug, 2024 1 commit
    • Carlos Ramos Carreño's avatar
      Move Matplotlib versions to slapos.cfg · 5ae99219
      Carlos Ramos Carreño authored
      Move the versions of matplotlib, matplotlib-inline and cycler pinned in
      component/matplotlib/buildout.cfg to slapos.cfg.
      The cycler version for Python 3.7 will be upgraded to 0.11.0 as it is
      compatible.
      
      One reason motivating this change is that the version of `cycler` in
      stack/slapos.cfg is overriding the version specified in
      component/matplotlib/buildout.cfg for the erp5-zope2 software release.
      This is a problem because the former does not take into account the
      Python version, while the later does.
      Thus, attempting to compile erp5-zope2 would give the following error:
      
      ```
      Getting distribution for 'cycler==0.11.0'.
      DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
      ERROR: Package 'cycler' requires a different Python: 2.7.18 not in '>=3.6'
      While:
        Installing matplotlib.
        Base installation request: 'cycler', 'python-dateutil', 'numpy'
        Getting distribution for 'cycler==0.11.0'.
      ```
      
      This adds the right version of `cycler` for Python 2 in `slapos.cfg`, so
      that it does not fail.
      5ae99219
  11. 01 Aug, 2024 2 commits
  12. 30 Jul, 2024 4 commits
  13. 29 Jul, 2024 1 commit
    • Rafael Monnerat's avatar
      kvm/theia: Dont use allOf on resilient to extend properties · 42083eea
      Rafael Monnerat authored
        allOf implies that all (both) schemas should be valid, but
          additionalProperties false wont allow it, since it become multually
          invalid. (You can validate only one or None)
      
        Just use $ref to expand the list, it end up with the expected outcome
         reducing complexity.
      
        Note: kvm wasn't using additionalProperties false but it was changed
         because it makes it future proof, in case we set it (we should set).
      42083eea
  14. 25 Jul, 2024 3 commits
  15. 24 Jul, 2024 1 commit
  16. 22 Jul, 2024 1 commit