Skip to content
  1. Oct 26, 2022
    • Thomas Woerner's avatar
      ipadnsrecord: Fix documentation sections and agument spec · 77c6770b
      Thomas Woerner authored
      ansible-test with ansible-2.14 is adding a lot of new tests to ensure
      that the documentation section and the agument spec is complete. Needed
      changes:
      
      DOCUMENTATION section
      
      - `type: str` needs to be set for string parameters
      - `type: list` needs to be set for list parameters
      - `elements: str` needs to be given for list of string parameters
      - `type: string` is not valid and needs to be replaced by `type: str`
      - `suboptions` instead of `options` needs to be used for dict parameters
      - `authors` needs to be given with the github user also: `Name (@user)`
      - `choices` needs to match `argument_spec`
      - `description` needs to match parameter
      - all parameters need to be defined
      
      argument_spec
      
      - `elements="str"` needs to be added to all list of string parameters
      - `no_log=False` or `no_log=True` needs to be set for all parameters
        that have `key` in the name or for dicts also in one the key names
      - `elements="dict"` needs to be added to all list of dict parameters
      
      The `copyright` date is extended with `-2022`.
      77c6770b
  2. Sep 27, 2022
  3. Sep 16, 2022
  4. Sep 09, 2022
  5. Sep 08, 2022
  6. Sep 07, 2022
  7. Sep 06, 2022
  8. Sep 05, 2022
  9. Sep 03, 2022
    • Rafael Guterres Jeffman's avatar
      upstream CI: run PR tests only for affected plugins · 25141584
      Rafael Guterres Jeffman authored
      The current workflow for bug fixing or new enhancements in
      ansible-freeipa includes running Ansible playbooks tests for all the
      available plugins for every pull request, even for contained
      modifications.
      
      This patch creates a new workflow for pull requests where only the
      affected plugins are tested in the PR. Changes that might affect other
      parts of the code will trigger tests for the parts affected.
      
      A utility script, utils/filter_tests, is used to set the variables
      IPA_ENABLED_MODULES and IPA_ENABLED_TESTS before executing the tests,
      effectively limiting which tests are executed. The script uses the
      python plugin 'utils/filter_plugins.py' which lists all test modules
      that should be executed for a list of modified source files.
      
      Tests are selected for execution based on the plugin name. For example,
      a change to 'plugins/modules/ipalocation.py' would trigger all playbook
      tests under 'tests/location'. If a test playbook is modified, it is
      scheduled to be executed. Changes to any file under
      'plugins/module_utils' will force the execution of all tests, since any
      module might be affected by that change.
      
      The nature of the change is not evaluated, so a simple typo fix of a
      comment in a file under 'plugins/module_utils' would still schedule all
      test playbooks to be executed.
      
      For roles, any file changed under the role directory would set the role
      to be included in the tests. Playbook tests for roles must be created
      under 'tests/<rolename>_role', where role name in the name of the role
      without 'ipa', for example, the 'ipabackup' role test playbooks would
      be stored under 'tests/backup_role'.
      
      Since there is the possibility that the list of tests to be executed
      might be less than the number of tests groups used (3), a new pytest
      dependency was added, pytest-custom_exit_code, so that having no tests
      to run isn't a test failure.
      
      A new pipeline on Azure needs to be created to use the new test script.
      25141584
  10. Aug 31, 2022