From 975f66f2eebe9dadba04f275774d4ab83f74cf25 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 14:04:41 +0200 Subject: Adding upstream version 7.7.0+dfsg. Signed-off-by: Daniel Baumann --- .../cisco/aci/.github/workflows/ansible-test.yml | 243 +++++++++++++++++++++ .../aci/.github/workflows/changelog-generation.yml | 32 +++ .../aci/.github/workflows/codeql-analysis.yml | 43 ++++ .../aci/.github/workflows/galaxy-importer.cfg | 9 + 4 files changed, 327 insertions(+) create mode 100644 ansible_collections/cisco/aci/.github/workflows/ansible-test.yml create mode 100644 ansible_collections/cisco/aci/.github/workflows/changelog-generation.yml create mode 100644 ansible_collections/cisco/aci/.github/workflows/codeql-analysis.yml create mode 100644 ansible_collections/cisco/aci/.github/workflows/galaxy-importer.cfg (limited to 'ansible_collections/cisco/aci/.github/workflows') 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 -- cgit v1.2.3