From 85a8c2566806b6346a9eaa99d92ef4ee14ac3143 Mon Sep 17 00:00:00 2001 From: Danielle Barda Date: Tue, 13 Feb 2024 16:01:04 +0200 Subject: [PATCH] Adding config and .github workflows Signed-off-by: Danielle Barda --- .config/ansible-lint.yml | 5 + .github/workflows/ansible-test.yml | 292 ----------------------- .github/workflows/changelog.yaml | 22 ++ .github/workflows/extra-docs-linting.yml | 34 --- .github/workflows/galaxy-import.yaml | 15 ++ .github/workflows/linters.yaml | 24 ++ .github/workflows/sanity-tests.yaml | 16 ++ changelogs/config.yaml | 5 +- playbooks/provision_vm/README.md | 0 playbooks/provision_vm/provision_vm.yml | 20 ++ 10 files changed, 106 insertions(+), 327 deletions(-) create mode 100644 .config/ansible-lint.yml delete mode 100644 .github/workflows/ansible-test.yml create mode 100644 .github/workflows/changelog.yaml delete mode 100644 .github/workflows/extra-docs-linting.yml create mode 100644 .github/workflows/galaxy-import.yaml create mode 100644 .github/workflows/linters.yaml create mode 100644 .github/workflows/sanity-tests.yaml create mode 100644 playbooks/provision_vm/README.md create mode 100644 playbooks/provision_vm/provision_vm.yml diff --git a/.config/ansible-lint.yml b/.config/ansible-lint.yml new file mode 100644 index 00000000..b9d1d5f6 --- /dev/null +++ b/.config/ansible-lint.yml @@ -0,0 +1,5 @@ +--- +profile: production +strict: true +skip_list: + - ignore-errors # Use failed_when and specify error conditions instead of using ignore_errors. diff --git a/.github/workflows/ansible-test.yml b/.github/workflows/ansible-test.yml deleted file mode 100644 index 3396a06e..00000000 --- a/.github/workflows/ansible-test.yml +++ /dev/null @@ -1,292 +0,0 @@ -# README FIRST -# 1. Subscribe to https://github.com/ansible-collections/news-for-maintainers -# (click the Watch button on the homepage > Custom > Issues) -# and keep this matrix up to date in accordance to related announcements. -# Timely add new ansible-core versions and consider dropping support -# and testing against its EOL versions. -# 2. If your collection repository is under the ansible-collections org, -# please keep in mind that the number of GHA jobs is limited -# and shared across all the collections in the org. -# So, focusing on good test coverage of your collection, -# please avoid testing against unnecessary entities such as -# ansible-core EOL versions your collection does not support -# or ansible-core versions that are not EOL yet but not supported by the collection. -# 3. If you don't have unit or integration tests, remove corresponding sections. -# 4. If your collection depends on other collections ensure they are installed, -# add them to the "test-deps" input. -# 5. For the comprehensive list of the inputs supported by the -# ansible-community/ansible-test-gh-action GitHub Action, see -# https://github.com/marketplace/actions/ansible-test. -# 6. If you want to prevent merging PRs that do not pass all tests, -# make sure to add the "check" job to your repository branch -# protection once this workflow is added. -# It is also possible to tweak which jobs are allowed to fail. See -# https://github.com/marketplace/actions/alls-green#gotchas for more detail. -# 7. If you need help please ask in #community:ansible.com on Matrix -# or in bridged #ansible-community on the Libera.Chat IRC channel. -# See https://docs.ansible.com/ansible/devel/community/communication.html -# for details. -# 8. If your collection is [going to get] included in the Ansible package, -# it has to adhere to Python compatibility and CI testing requirements described in -# https://docs.ansible.com/ansible/latest/community/collection_contributors/collection_requirements.html. - -name: CI -on: - # Run CI against all pushes (direct commits, also merged PRs), Pull Requests - push: - branches: - - main - - stable-* - pull_request: - # Run CI once per day (at 06:00 UTC) - # This ensures that even if there haven't been commits that we are still - # testing against latest version of ansible-test for each ansible-core - # version - schedule: - - cron: '0 6 * * *' - -concurrency: - group: >- - ${{ github.workflow }}-${{ - github.event.pull_request.number || github.sha - }} - cancel-in-progress: true - -jobs: - -### -# Sanity tests (REQUIRED) -# -# https://docs.ansible.com/ansible/latest/dev_guide/testing_sanity.html - - sanity: - name: Sanity (Ⓐ${{ matrix.ansible }}) - strategy: - matrix: - ansible: - # It's important that Sanity is tested against all stable-X.Y branches - # Testing against `devel` may fail as new tests are added. - # An alternative to `devel` is the `milestone` branch with - # gets synchronized with `devel` every few weeks and therefore - # tends to be a more stable target. Be aware that it is not updated - # around creation of a new stable branch, this might cause a problem - # that two different versions of ansible-test use the same sanity test - # ignore.txt file. - # Add new versions announced in - # https://github.com/ansible-collections/news-for-maintainers in a timely manner, - # consider dropping testing against EOL versions and versions you don't support. - - stable-2.14 - - stable-2.15 - - stable-2.16 - - devel - # - milestone - # Ansible-test on various stable branches does not yet work well with cgroups v2. - # Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04 - # image for these stable branches. The list of branches where this is necessary will - # shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28 - # for the latest list. - runs-on: >- - ${{ contains(fromJson( - '["stable-2.9", "stable-2.10", "stable-2.11"]' - ), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }} - steps: - # Run sanity tests inside a Docker container. - # The docker container has all the pinned dependencies that are - # required and all Python versions Ansible supports. - - name: Perform sanity testing - # See the documentation for the following GitHub action on - # https://github.com/ansible-community/ansible-test-gh-action/blob/main/README.md - uses: ansible-community/ansible-test-gh-action@release/v1 - with: - ansible-core-version: ${{ matrix.ansible }} - testing-type: sanity - # OPTIONAL If your sanity tests require code - # from other collections, install them like this - # test-deps: >- - # ansible.netcommon - # ansible.utils - # OPTIONAL If set to true, will test only against changed files, - # which should improve CI performance. See limitations on - # https://github.com/ansible-community/ansible-test-gh-action#pull-request-change-detection - pull-request-change-detection: false - -### -# Unit tests (OPTIONAL) -# -# https://docs.ansible.com/ansible/latest/dev_guide/testing_units.html - - units: - # Ansible-test on various stable branches does not yet work well with cgroups v2. - # Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04 - # image for these stable branches. The list of branches where this is necessary will - # shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28 - # for the latest list. - runs-on: >- - ${{ contains(fromJson( - '["stable-2.9", "stable-2.10", "stable-2.11"]' - ), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }} - name: Units (Ⓐ${{ matrix.ansible }}) - strategy: - # As soon as the first unit test fails, cancel the others to free up the CI queue - fail-fast: true - matrix: - ansible: - # Add new versions announced in - # https://github.com/ansible-collections/news-for-maintainers in a timely manner, - # consider dropping testing against EOL versions and versions you don't support. - - stable-2.14 - - stable-2.15 - - stable-2.16 - - devel - # - milestone - - steps: - - name: >- - Perform unit testing against - Ansible version ${{ matrix.ansible }} - # See the documentation for the following GitHub action on - # https://github.com/ansible-community/ansible-test-gh-action/blob/main/README.md - uses: ansible-community/ansible-test-gh-action@release/v1 - with: - ansible-core-version: ${{ matrix.ansible }} - testing-type: units - # OPTIONAL If your unit tests require code - # from other collections, install them like this - test-deps: >- - ansible.netcommon - ansible.utils - # OPTIONAL If set to true, will test only against changed files, - # which should improve CI performance. See limitations on - # https://github.com/ansible-community/ansible-test-gh-action#pull-request-change-detection - pull-request-change-detection: false - -### -# Integration tests (RECOMMENDED) -# -# https://docs.ansible.com/ansible/latest/dev_guide/testing_integration.html - - -# If the application you are testing is available as a docker container and you want to test -# multiple versions see the following for an example: -# https://github.com/ansible-collections/community.zabbix/tree/master/.github/workflows - - integration: - # Ansible-test on various stable branches does not yet work well with cgroups v2. - # Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04 - # image for these stable branches. The list of branches where this is necessary will - # shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28 - # for the latest list. - runs-on: >- - ${{ contains(fromJson( - '["stable-2.9", "stable-2.10", "stable-2.11"]' - ), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }} - name: I (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }}) - strategy: - fail-fast: false - matrix: - ansible: - - devel - # - milestone - python: - - '3.7' - - '3.8' - - '3.9' - - '3.10' - - '3.11' - - '3.12' - include: - # Add new versions announced in - # https://github.com/ansible-collections/news-for-maintainers in a timely manner, - # consider dropping testing against EOL versions and versions you don't support. - # ansible-core 2.14 - - ansible: stable-2.14 - python: '2.7' - - ansible: stable-2.14 - python: '3.5' - - ansible: stable-2.14 - python: '3.6' - - ansible: stable-2.14 - python: '3.7' - - ansible: stable-2.14 - python: '3.8' - - ansible: stable-2.14 - python: '3.9' - - ansible: stable-2.14 - python: '3.10' - - ansible: stable-2.14 - python: '3.11' - # ansible-core 2.15 - - ansible: stable-2.15 - python: '2.7' - - ansible: stable-2.15 - python: '3.5' - - ansible: stable-2.15 - python: '3.6' - - ansible: stable-2.15 - python: '3.7' - - ansible: stable-2.15 - python: '3.8' - - ansible: stable-2.15 - python: '3.9' - - ansible: stable-2.15 - python: '3.10' - - ansible: stable-2.15 - python: '3.11' - # ansible-core 2.16 - - ansible: stable-2.16 - python: '2.7' - - ansible: stable-2.16 - python: '3.6' - - ansible: stable-2.16 - python: '3.7' - - ansible: stable-2.16 - python: '3.8' - - ansible: stable-2.16 - python: '3.9' - - ansible: stable-2.16 - python: '3.10' - - ansible: stable-2.16 - python: '3.11' - - ansible: stable-2.16 - python: '3.12' - - steps: - - name: >- - Perform integration testing against - Ansible version ${{ matrix.ansible }} - under Python ${{ matrix.python }} - # See the documentation for the following GitHub action on - # https://github.com/ansible-community/ansible-test-gh-action/blob/main/README.md - uses: ansible-community/ansible-test-gh-action@release/v1 - with: - ansible-core-version: ${{ matrix.ansible }} - # OPTIONAL command to run before invoking `ansible-test integration` - # pre-test-cmd: - target-python-version: ${{ matrix.python }} - testing-type: integration - # OPTIONAL If your integration tests require code - # from other collections, install them like this - test-deps: ansible.netcommon - # OPTIONAL If set to true, will test only against changed files, - # which should improve CI performance. See limitations on - # https://github.com/ansible-community/ansible-test-gh-action#pull-request-change-detection - pull-request-change-detection: false - - - check: # This job does nothing and is only used for the branch protection - # or multi-stage CI jobs, like making sure that all tests pass before - # a publishing job is started. - if: always() - - needs: - - sanity - - units - - integration - - runs-on: ubuntu-latest - - steps: - - name: Decide whether the needed jobs succeeded or failed - uses: re-actors/alls-green@release/v1 - with: - jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/changelog.yaml b/.github/workflows/changelog.yaml new file mode 100644 index 00000000..6063f9f6 --- /dev/null +++ b/.github/workflows/changelog.yaml @@ -0,0 +1,22 @@ +--- +name: Changelog + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +on: + pull_request: + types: + - opened + - reopened + - labeled + - unlabeled + - synchronize + branches: + - main + - stable-* + +jobs: + changelog: + uses: ansible-network/github_actions/.github/workflows/changelog.yml@main diff --git a/.github/workflows/extra-docs-linting.yml b/.github/workflows/extra-docs-linting.yml deleted file mode 100644 index 5d93853b..00000000 --- a/.github/workflows/extra-docs-linting.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Lint extra docsite docs and links -on: - # Run CI against all pushes (direct commits, also merged PRs), Pull Requests - push: - branches: - - main - - stable-* - pull_request: - # Run CI once per day (at 06:00 UTC) - # This ensures that even if there haven't been commits that we are still testing against latest version of ansible-test for each ansible-base version - schedule: - - cron: '0 6 * * *' - -jobs: - docsite: - name: Lint extra docsite docs and links - permissions: - contents: read - runs-on: ubuntu-latest - steps: - - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - - name: Install antsibull-docs - run: pip install antsibull-docs --disable-pip-version-check - - - name: Run collection docs linter - run: antsibull-docs lint-collection-docs . --plugin-docs --skip-rstcheck diff --git a/.github/workflows/galaxy-import.yaml b/.github/workflows/galaxy-import.yaml new file mode 100644 index 00000000..214d0705 --- /dev/null +++ b/.github/workflows/galaxy-import.yaml @@ -0,0 +1,15 @@ +name: Galaxy import + +concurrency: + group: ${{ github.head_ref }} + cancel-in-progress: true + +on: + pull_request: + branches: + - main + - stable-* + +jobs: + galaxy-import: + uses: ansible-network/github_actions/.github/workflows/galaxy_importer.yml@main diff --git a/.github/workflows/linters.yaml b/.github/workflows/linters.yaml new file mode 100644 index 00000000..140a5b55 --- /dev/null +++ b/.github/workflows/linters.yaml @@ -0,0 +1,24 @@ +--- +name: Linters + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +on: + pull_request: + branches: + - main + - stable-* + +jobs: + ansible-lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Run ansible-lint + uses: ansible/ansible-lint@v6.22.0 + + tox-linters: + uses: ansible-network/github_actions/.github/workflows/tox-linters.yml@main diff --git a/.github/workflows/sanity-tests.yaml b/.github/workflows/sanity-tests.yaml new file mode 100644 index 00000000..420ef36e --- /dev/null +++ b/.github/workflows/sanity-tests.yaml @@ -0,0 +1,16 @@ +--- +name: Sanity tests + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +on: + pull_request: + branches: + - main + - stable-* + +jobs: + sanity-tests: + uses: ansible-network/github_actions/.github/workflows/sanity.yml@main diff --git a/changelogs/config.yaml b/changelogs/config.yaml index 08c3ba7c..da0f57b6 100644 --- a/changelogs/config.yaml +++ b/changelogs/config.yaml @@ -2,12 +2,14 @@ changelog_filename_template: ../CHANGELOG.rst changelog_filename_version_depth: 0 changes_file: changelog.yaml changes_format: combined +ignore_other_fragment_extensions: true keep_fragments: false mention_ancestor: true new_plugins_after_name: removed_features notesdir: fragments prelude_section_name: release_summary prelude_section_title: Release Summary +sanitize_changelog: true sections: - - major_changes - Major Changes @@ -25,5 +27,6 @@ sections: - Bugfixes - - known_issues - Known Issues -title: CHANGE THIS IN changelogs/config.yaml! +title: Cloud.Azure_Ops trivial_section_name: trivial +use_fqcn: true \ No newline at end of file diff --git a/playbooks/provision_vm/README.md b/playbooks/provision_vm/README.md new file mode 100644 index 00000000..e69de29b diff --git a/playbooks/provision_vm/provision_vm.yml b/playbooks/provision_vm/provision_vm.yml new file mode 100644 index 00000000..1b7f7d77 --- /dev/null +++ b/playbooks/provision_vm/provision_vm.yml @@ -0,0 +1,20 @@ +- name: Playbook to provision a VM on VMware + hosts: localhost + gather_facts: false + + tasks: + - name: set connection info + ansible.builtin.set_fact: + connection_args: + vcenter_hostname: "" + vcenter_username: "" + vcenter_password: "" + vcenter_validate_certs: "false" + + - name: Test urlEncoded issue with list datasoruces + vmware.vmware_rest.vcenter_datacenter_info: + vcenter_hostname: "{{ connection_args.vcenter_hostname }}" + vcenter_username: "{{ connection_args.vcenter_username }}" + vcenter_password: "{{ connection_args.vcenter_password }}" + vcenter_validate_certs: "false" + register: create_vsphere_vm_datacenter