diff options
Diffstat (limited to 'ansible_collections/cisco/aci/.github')
7 files changed, 450 insertions, 0 deletions
diff --git a/ansible_collections/cisco/aci/.github/ISSUE_TEMPLATE/Bug_Report.md b/ansible_collections/cisco/aci/.github/ISSUE_TEMPLATE/Bug_Report.md new file mode 100644 index 000000000..dcf80d927 --- /dev/null +++ b/ansible_collections/cisco/aci/.github/ISSUE_TEMPLATE/Bug_Report.md @@ -0,0 +1,74 @@ +--- +name: 🐛 Bug Report +about: If something isn't working as expected 🤔. +labels: bug +--- + +<!--- Please keep this note for the community ---> + +### Community Note + +* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request +* Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request +* If you are interested in working on this issue or have submitted a pull request, please leave a comment + +<!--- Thank you for keeping this note for the community ---> + +### Description +<!--- Please specify additional labels in the labels section if applicable to the issue. +Possible additional labels: documentation/question ---> + +<!--- Please leave a helpful description of the feature request here. ---> + +* xxxx + +### Affected Module Name(s): + +<!--- Please list the affected module name(s). ---> + +* aci_XXXXX + +### APIC version and APIC Platform + +* V x.x.x and on-prem/cloud-aws/cloud-azure/all. + +### Collection versions + +* cisco.aci x.x.x + +### Output/ Error message + +<!--- +Please provide the generated error message. +---> +* + +### Expected Behavior + +<!--- What should have happened? ---> +* + +### Actual Behavior + +<!--- What actually happened? ---> +* + +### Playbook tasks to Reproduce + +<!--- Please list the playbook tasks required to reproduce the issue. ---> + +* + +### Important Factoids + +<!--- Are there anything atypical about your accounts that we should know? For example: Same task runs on different version of APIC? ---> + +### References + +<!--- +Information about referencing Github Issues: https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests + +Are there any other GitHub issues (open or closed) or pull requests that should be linked here? Vendor documentation? For example: +---> + +* #0000
\ No newline at end of file diff --git a/ansible_collections/cisco/aci/.github/ISSUE_TEMPLATE/Feature_Request.md b/ansible_collections/cisco/aci/.github/ISSUE_TEMPLATE/Feature_Request.md new file mode 100644 index 000000000..03eb23a29 --- /dev/null +++ b/ansible_collections/cisco/aci/.github/ISSUE_TEMPLATE/Feature_Request.md @@ -0,0 +1,48 @@ +--- +name: 🚀 Feature Request +about: I have a suggestion (might want to implement it myself 🙂)! +labels: enhancement +--- + +<!--- Please keep this note for the community ---> + +### Community Note + +* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request +* Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request +* If you are interested in working on this issue or have submitted a pull request, please leave a comment + +<!--- Thank you for keeping this note for the community ---> + +### Description +<!--- Please specify additional labels in the labels section if applicable to the issue. +Possible additional labels: new_module/new_plugin/documentation/feature ---> + +<!--- Please leave a helpful description of the feature request here. ---> + +* xxxx + +### New or Affected Module(s): + +<!--- Please list the new or affected module(s). ---> + +* aci_XXXXX + fv:XXXX + +### APIC version and APIC Platform + +* V x.x.x and on-prem/cloud-aws/cloud-azure/all. + +### Collection versions + +* cisco.aci x.x.x + +### References + +<!--- +Information about referencing Github Issues: https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests + +Are there any other GitHub issues (open or closed) or pull requests that should be linked here? Vendor blog posts or documentation? For example: + +---> + +* #0000
\ No newline at end of file diff --git a/ansible_collections/cisco/aci/.github/ISSUE_TEMPLATE/config.yml b/ansible_collections/cisco/aci/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..ec4bb386b --- /dev/null +++ b/ansible_collections/cisco/aci/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false
\ No newline at end of file diff --git a/ansible_collections/cisco/aci/.github/workflows/ansible-test.yml b/ansible_collections/cisco/aci/.github/workflows/ansible-test.yml new file mode 100644 index 000000000..53799a4ab --- /dev/null +++ b/ansible_collections/cisco/aci/.github/workflows/ansible-test.yml @@ -0,0 +1,243 @@ +name: CI +on: + push: + branches: master + pull_request: + schedule: + # * is a special character in YAML so you have to quote this string + - cron: '0 8 * * *' +env: + python_version: 3.9 +jobs: + build: + name: Build collection + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ansible: [v2.9.27, v2.10.17, v2.11.12, v2.12.10, stable-2.13, stable-2.14] + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Python ${{ env.python_version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ env.python_version }} + + - name: Install ansible-base (${{ matrix.ansible }}) + run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check + + - name: Build a collection tarball + run: ansible-galaxy collection build --output-path "${GITHUB_WORKSPACE}/.cache/collection-tarballs" + + - name: Store migrated collection artifacts + uses: actions/upload-artifact@v3 + with: + name: collection + path: .cache/collection-tarballs + + black-formating: + name: Using Black to check formating + runs-on: ubuntu-latest + continue-on-error: true + strategy: + fail-fast: false + matrix: + experimental: [true] + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Run black against code + uses: psf/black@stable + with: + options: "--check --diff --color -l 159" + + importer: + name: Galaxy-importer check + needs: + - build + runs-on: ubuntu-latest + steps: + - name: Set up Python ${{ env.python_version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ env.python_version }} + + - name: Install ansible-base (stable-2.14) + run: pip install https://github.com/ansible/ansible/archive/stable-2.14.tar.gz --disable-pip-version-check + + - name: Download migrated collection artifacts + uses: actions/download-artifact@v3 + with: + name: collection + path: .cache/collection-tarballs + + - name: Install the collection tarball + run: ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz + + - name: Install galaxy-importer + run: pip install galaxy-importer + + - name: Create galaxy-importer directory + run: sudo mkdir -p /etc/galaxy-importer + + - name: Create galaxy-importer.cfg + run: sudo cp /home/runner/.ansible/collections/ansible_collections/cisco/aci/.github/workflows/galaxy-importer.cfg /etc/galaxy-importer/galaxy-importer.cfg + + - name: Run galaxy-importer check + run: python -m galaxy_importer.main .cache/collection-tarballs/cisco-*.tar.gz | tee .cache/collection-tarballs/log.txt && sudo cp ./importer_result.json .cache/collection-tarballs/importer_result.json + + - name: Check warnings and errors + run: if grep -E 'WARNING|ERROR' .cache/collection-tarballs/log.txt; then exit 1; else exit 0; fi + + - name: Store galaxy_importer check log file + uses: actions/upload-artifact@v3 + with: + name: galaxy-importer-log + path: .cache/collection-tarballs/importer_result.json + + + sanity: + name: Sanity in ubuntu-latest + needs: + - build + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ansible: [v2.9.27, v2.10.17, v2.11.12, v2.12.10, stable-2.13, stable-2.14] + steps: + - name: Set up Python ${{ env.python_version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ env.python_version }} + + - name: Install ansible-base (${{ matrix.ansible }}) + run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check + + - name: Install coverage (v4.5.4) + run: pip install coverage==4.5.4 + + - name: Download migrated collection artifacts + uses: actions/download-artifact@v3 + with: + name: collection + path: .cache/collection-tarballs + + - name: Install the collection tarball + run: ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz + + - name: Run sanity tests + run: ansible-test sanity --docker -v --color --truncate 0 --coverage + working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/aci + + - name: Generate coverage report + run: ansible-test coverage xml -v --requirements --group-by command --group-by version + working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/aci + + - name: Push coverate report to codecov.io + run: bash <(curl -s https://codecov.io/bash) -s 'tests/output/reports/' -F sanity + working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/aci + + units: + name: Units in ubuntu-latest + needs: + - build + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ansible: [v2.10.17, v2.11.12, v2.12.10, stable-2.13, stable-2.14] + python-version: [3.9] + include: + - ansible: v2.9.27 + python-version: 3.8 + steps: + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install ansible-base (${{ matrix.ansible }}) + run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check + + - name: Install coverage (v4.5.4) + run: pip install coverage==4.5.4 + + - name: Download migrated collection artifacts + uses: actions/download-artifact@v3 + with: + name: collection + path: .cache/collection-tarballs + + - name: Install the collection tarball + run: ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz + + # - name: Run unit tests + # run: ansible-test units --docker -v --color --truncate 0 --python ${{ matrix.python-version }} --coverage + # working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/aci + + # - name: Generate coverage report. + # run: ansible-test coverage xml -v --requirements --group-by command --group-by version + # working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/aci + + # - name: Push coverate report to codecov.io + # run: bash <(curl -s https://codecov.io/bash) -s 'tests/output/reports/' -F unit + # working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/aci + + integration: + name: Integration in ubuntu-latest + needs: + - build + runs-on: ubuntu-latest + steps: + - name: Set up Python ${{ env.python_version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ env.python_version }} + + - name: Install ansible-base (stable-2.13) + run: pip install https://github.com/ansible/ansible/archive/stable-2.13.tar.gz --disable-pip-version-check + + - name: Install coverage (v4.5.4) + run: pip install coverage==4.5.4 + + - name: Download migrated collection artifacts + uses: actions/download-artifact@v3 + with: + name: collection + path: .cache/collection-tarballs + + - name: Install the collection tarball + run: ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz + + - name: Requesting integration mutex + uses: nev7n/wait_for_response@v1 + with: + url: ${{ format('https://8v7s765ibh.execute-api.us-west-1.amazonaws.com/v1/ansible-aci?repo={0}&run_id={1}', github.repository, github.run_id) }} + responseCode: 200 + timeout: 2000000 + interval: 5000 + + - name: Run integration tests on Python ${{ env.python_version }} + run: ansible-test network-integration --docker -v --color --retry-on-error --python ${{ env.python_version }} --truncate 0 --continue-on-error --coverage + working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/aci + + - name: Releasing integration mutex + uses: nev7n/wait_for_response@v1 + if: always() + with: + url: ${{ format('https://8v7s765ibh.execute-api.us-west-1.amazonaws.com/v1/ansible-aci/release?repo={0}&run_id={1}', github.repository, github.run_id) }} + responseCode: 200 + + - name: Generate coverage report + if: always() + run: ansible-test coverage xml -v --requirements --group-by command --group-by version + working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/aci + + - name: Push coverate report to codecov.io + if: always() + run: bash <(curl -s https://codecov.io/bash) -s 'tests/output/reports/' -F integration + working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/aci diff --git a/ansible_collections/cisco/aci/.github/workflows/changelog-generation.yml b/ansible_collections/cisco/aci/.github/workflows/changelog-generation.yml new file mode 100644 index 000000000..a6342e23b --- /dev/null +++ b/ansible_collections/cisco/aci/.github/workflows/changelog-generation.yml @@ -0,0 +1,32 @@ +name: Generate Changelog +on: + push: + branches: master +jobs: + generate-changelog: + name: Run automation script + runs-on: ubuntu-latest + steps: + - name: Check out script code + uses: actions/checkout@v3 + with: + repository: ciscoecosystem/release_script + path: ./release_script + + - name: Check out collection code + uses: actions/checkout@v3 + with: + path: ./collection + + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: 3.9 + + - name: Install release script requirements + run: pip install -r ./release_script/requirements.txt + + - name: Run automation script + run: python ./release_script/script.py + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/ansible_collections/cisco/aci/.github/workflows/codeql-analysis.yml b/ansible_collections/cisco/aci/.github/workflows/codeql-analysis.yml new file mode 100644 index 000000000..76aa96c9b --- /dev/null +++ b/ansible_collections/cisco/aci/.github/workflows/codeql-analysis.yml @@ -0,0 +1,43 @@ +name: "CodeQL" + +on: + push: + branches: [ "master" ] + + schedule: + - cron: '40 8 * * 5' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'python' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 diff --git a/ansible_collections/cisco/aci/.github/workflows/galaxy-importer.cfg b/ansible_collections/cisco/aci/.github/workflows/galaxy-importer.cfg new file mode 100644 index 000000000..631359cf4 --- /dev/null +++ b/ansible_collections/cisco/aci/.github/workflows/galaxy-importer.cfg @@ -0,0 +1,9 @@ +[galaxy-importer] +LOG_LEVEL_MAIN = INFO +RUN_FLAKE8 = True +RUN_ANSIBLE_DOC = True +RUN_ANSIBLE_LINT = True +RUN_ANSIBLE_TEST = False +ANSIBLE_TEST_LOCAL_IMAGE = False +LOCAL_IMAGE_DOCKER = False +INFRA_OSD = False
\ No newline at end of file |