diff --git a/changelogs/.gitignore b/changelogs/.gitignore new file mode 100644 index 0000000000..6be6b5331d --- /dev/null +++ b/changelogs/.gitignore @@ -0,0 +1 @@ +/.plugin-cache.yaml diff --git a/changelogs/config.yaml b/changelogs/config.yaml new file mode 100644 index 0000000000..f9083f40bc --- /dev/null +++ b/changelogs/config.yaml @@ -0,0 +1,28 @@ +changelog_filename_template: CHANGELOG.rst +changelog_filename_version_depth: 0 +changes_file: changelog.yaml +changes_format: combined +keep_fragments: false +mention_ancestor: true +new_plugins_after_name: removed_features +notesdir: fragments +prelude_section_name: release_summary +prelude_section_title: Release Summary +sections: +- - major_changes + - Major Changes +- - minor_changes + - Minor Changes +- - breaking_changes + - Breaking Changes / Porting Guide +- - deprecated_features + - Deprecated Features +- - removed_features + - Removed Features (previously deprecated) +- - security_fixes + - Security Fixes +- - bugfixes + - Bugfixes +- - known_issues + - Known Issues +title: Community General diff --git a/shippable.yml b/shippable.yml index 32e457897d..6c60b8b427 100644 --- a/shippable.yml +++ b/shippable.yml @@ -12,6 +12,7 @@ matrix: - env: T=sanity/2 - env: T=sanity/3 - env: T=sanity/4 + - env: T=sanity/extra - env: T=units/2.6/1 - env: T=units/2.7/1 diff --git a/tests/sanity/extra/changelog.json b/tests/sanity/extra/changelog.json new file mode 100644 index 0000000000..092d819a11 --- /dev/null +++ b/tests/sanity/extra/changelog.json @@ -0,0 +1,13 @@ +{ + "python": "3.7", + "output": "path-line-column-message", + "prefixes": [ + "changelogs/fragments/" + ], + "exclude_prefixes": [ + "changelogs/fragments/." + ], + "requirements": [ + "git+git://github.com/ansible-community/ansibulled.git@pip-installable#egg=ansibulled" + ] +} \ No newline at end of file diff --git a/tests/sanity/extra/changelog.py b/tests/sanity/extra/changelog.py new file mode 100644 index 0000000000..243ce952a5 --- /dev/null +++ b/tests/sanity/extra/changelog.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# Copyright (c) Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + + +import os +import sys +import subprocess + + +def main(): + paths = sys.argv[1:] or sys.stdin.read().splitlines() + + allowed_extensions = ('.yml', '.yaml') + + for path in paths: + ext = os.path.splitext(path)[1] + + if ext not in allowed_extensions: + print('%s:%d:%d: extension must be one of: %s' % (path, 0, 0, ', '.join(allowed_extensions))) + + cmd = ['ansibulled-changelog', 'lint'] + paths + subprocess.check_call(cmd) + + +if __name__ == '__main__': + main() diff --git a/tests/sanity/extra/no-unwanted-files.json b/tests/sanity/extra/no-unwanted-files.json new file mode 100644 index 0000000000..c789a7fd39 --- /dev/null +++ b/tests/sanity/extra/no-unwanted-files.json @@ -0,0 +1,7 @@ +{ + "include_symlinks": true, + "prefixes": [ + "plugins/" + ], + "output": "path-message" +} diff --git a/tests/sanity/extra/no-unwanted-files.py b/tests/sanity/extra/no-unwanted-files.py new file mode 100755 index 0000000000..49806f2e22 --- /dev/null +++ b/tests/sanity/extra/no-unwanted-files.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# Copyright (c) Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +"""Prevent unwanted files from being added to the source tree.""" +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +import os +import sys + + +def main(): + """Main entry point.""" + paths = sys.argv[1:] or sys.stdin.read().splitlines() + + allowed_extensions = ( + '.cs', + '.ps1', + '.psm1', + '.py', + ) + + skip_paths = set([ + ]) + + skip_directories = ( + ) + + for path in paths: + if path in skip_paths: + continue + + if any(path.startswith(skip_directory) for skip_directory in skip_directories): + continue + + ext = os.path.splitext(path)[1] + + if ext not in allowed_extensions: + print('%s: extension must be one of: %s' % (path, ', '.join(allowed_extensions))) + + +if __name__ == '__main__': + main() diff --git a/tests/utils/shippable/sanity.sh b/tests/utils/shippable/sanity.sh index 9d3dc30885..187105409c 100755 --- a/tests/utils/shippable/sanity.sh +++ b/tests/utils/shippable/sanity.sh @@ -13,6 +13,11 @@ else base_branch="" fi +if [ "${group}" == "extra" ]; then + ../internal_test_tools/tools/run.py --color + exit +fi + case "${group}" in 1) options=(--skip-test pylint --skip-test ansible-doc --skip-test validate-modules) ;; 2) options=( --test ansible-doc --test validate-modules) ;; diff --git a/tests/utils/shippable/shippable.sh b/tests/utils/shippable/shippable.sh index 7b540fe66e..4221211776 100755 --- a/tests/utils/shippable/shippable.sh +++ b/tests/utils/shippable/shippable.sh @@ -71,7 +71,8 @@ retry ansible-galaxy -vvv collection install ansible.posix # https://github.com/CiscoDevNet/ansible-intersight/issues/9 retry ansible-galaxy -vvv collection install cisco.intersight:1.0.4 retry ansible-galaxy -vvv collection install community.crypto -retry ansible-galaxy -vvv collection install community.internal_test_tools +# retry ansible-galaxy -vvv collection install community.internal_test_tools - we need git checkout until 0.2.0 has been released +retry git clone https://github.com/ansible-collections/community.internal_test_tools.git "${ANSIBLE_COLLECTIONS_PATHS}/ansible_collections/community/internal_test_tools" retry ansible-galaxy -vvv collection install community.kubernetes retry ansible-galaxy -vvv collection install google.cloud retry ansible-galaxy -vvv collection install ovirt.ovirt