diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index d736a85ff..da3cbcbff 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -67,7 +67,7 @@ body: Describe in detail the exact steps that someone else can take to reproduce this bug using the current stable release of the Ansible NetBox collection. Include any sanatized playbooks, variables, & tasks specifically showing just the issue. - #placeholder: | + # placeholder: | validations: required: true diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e2c018bc0..b108c5b93 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,6 +15,13 @@ jobs: - name: Run black uses: psf/black@stable + - name: Run yamllint + uses: ibiqlik/action-yamllint@v3 + with: + file_or_dir: . + config_file: .yamllint.yml + strict: true + unit_testing: runs-on: ubuntu-24.04 needs: linting @@ -66,7 +73,7 @@ jobs: strategy: fail-fast: false matrix: - include: + include: - VERSION: "v4.1" NETBOX_DOCKER_VERSION: 3.0.1 - VERSION: "v4.2" @@ -114,7 +121,7 @@ jobs: docker container ls docker logs netbox-docker-netbox-1 timeout 300 bash -c 'while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' localhost:32768/login/)" != "200" ]]; do echo "waiting for NetBox"; sleep 5; done' || false - working-directory: /home/runner/.ansible/collections/ansible_collections/netbox/netbox + working-directory: /home/runner/.ansible/collections/ansible_collections/netbox/netbox - name: Pre-populate NetBox run: ./tests/integration/netbox-deploy.py @@ -126,13 +133,13 @@ jobs: ansible-test integration -v --color --coverage --python ${{ env.python-version }} inventory-${{ matrix.VERSION }} working-directory: /home/runner/.ansible/collections/ansible_collections/netbox/netbox - - name: Run regression tests + - name: Run regression tests continue-on-error: true - run: | - ansible-test integration -v --color --coverage --python ${{ env.python-version }} regression-${{ matrix.VERSION }} + run: | + ansible-test integration -v --color --coverage --python ${{ env.python-version }} regression-${{ matrix.VERSION }} working-directory: /home/runner/.ansible/collections/ansible_collections/netbox/netbox - - name: Run integration tests + - name: Run integration tests run: | ansible-test integration -v --color --coverage --python ${{ env.python-version }} ${{ matrix.VERSION }} ansible-test coverage report --all --omit "tests/*,hacking/*,docs/*" --show-missing diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b077abb14..e3c4ebd84 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -47,4 +47,4 @@ jobs: '${{ needs.unit-galaxy.result }}', '${{ needs.unit-source.result }}', '${{ needs.ansible-lint.result }}' - ])" \ No newline at end of file + ])" diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 000000000..264a92f68 --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,52 @@ +--- +extends: default + +# see rules at https://yamllint.readthedocs.io/en/latest/rules.html +ignore: | + - .cache/ + - .venv/ + - .github/ + +rules: + braces: + max-spaces-inside: 20 + level: error + brackets: + max-spaces-inside: 20 + level: error + colons: + max-spaces-before: 1 + max-spaces-after: 20 + level: error + commas: + max-spaces-before: 50 + min-spaces-after: 1 + max-spaces-after: 20 + level: error + comments: + min-spaces-from-content: 1 + comments-indentation: disable + document-start: + present: true + empty-lines: + max: 3 + level: error + hyphens: + level: error + indentation: + spaces: 2 + indent-sequences: whatever + check-multi-line-strings: false + key-duplicates: enable + line-length: + max: 230 + level: warning + allow-non-breakable-words: true + allow-non-breakable-inline-mappings: true + new-line-at-end-of-file: enable + new-lines: + type: unix + trailing-spaces: enable + truthy: disable + octal-values: + forbid-explicit-octal: true diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml index 049c52a1b..d2737b844 100644 --- a/changelogs/changelog.yaml +++ b/changelogs/changelog.yaml @@ -1,3 +1,4 @@ +--- ancestor: null releases: 0.1.0: diff --git a/changelogs/fragments/1182-fix-contact-groups.yml b/changelogs/fragments/1182-fix-contact-groups.yml index f82b69e31..f9acabdbd 100644 --- a/changelogs/fragments/1182-fix-contact-groups.yml +++ b/changelogs/fragments/1182-fix-contact-groups.yml @@ -1,3 +1,4 @@ +--- minor_changes: - Change `netbox_contact.contact_group` to `contact_groups` - Add integration tests for contact groups diff --git a/changelogs/fragments/1433-add-custom-headers.yml b/changelogs/fragments/1433-add-custom-headers.yml index 25b67d974..5d939cd48 100644 --- a/changelogs/fragments/1433-add-custom-headers.yml +++ b/changelogs/fragments/1433-add-custom-headers.yml @@ -1,2 +1,3 @@ +--- minor_changes: - Add support for custom headers for all modules diff --git a/changelogs/fragments/1435-fix-duplicate-task-name.yml b/changelogs/fragments/1435-fix-duplicate-task-name.yml index b70c1ac5f..6239f595f 100644 --- a/changelogs/fragments/1435-fix-duplicate-task-name.yml +++ b/changelogs/fragments/1435-fix-duplicate-task-name.yml @@ -1,2 +1,3 @@ +--- bugfixes: - Fix task duplicate task name in documentation that cause ansible-lint error diff --git a/changelogs/fragments/1438-fix-inventory-service-collection.yml b/changelogs/fragments/1438-fix-inventory-service-collection.yml index a908e39bc..729468783 100644 --- a/changelogs/fragments/1438-fix-inventory-service-collection.yml +++ b/changelogs/fragments/1438-fix-inventory-service-collection.yml @@ -1,2 +1,3 @@ +--- bugfixes: - nb_inventory - Fix service collection for version greater than 4.3 diff --git a/changelogs/fragments/1439-fix-sevral-bug-discovered-by-integration-tests.yml b/changelogs/fragments/1439-fix-sevral-bug-discovered-by-integration-tests.yml index 4c3db8f88..d8942f984 100644 --- a/changelogs/fragments/1439-fix-sevral-bug-discovered-by-integration-tests.yml +++ b/changelogs/fragments/1439-fix-sevral-bug-discovered-by-integration-tests.yml @@ -1,3 +1,4 @@ +--- bugfixes: - Add netbox version check to support service creation for netbox version prior of 4.3 - Use dedicated function to check netbox version istead of self.full_version for rack. diff --git a/changelogs/fragments/1459-add-netbox-data-sources.yml b/changelogs/fragments/1459-add-netbox-data-sources.yml index 17edb4042..9eb08f364 100644 --- a/changelogs/fragments/1459-add-netbox-data-sources.yml +++ b/changelogs/fragments/1459-add-netbox-data-sources.yml @@ -1,2 +1,3 @@ +--- minor_changes: - netbox_data_source - New module `#1459 ` diff --git a/changelogs/fragments/1462-fix-pylint-errors.yml b/changelogs/fragments/1462-fix-pylint-errors.yml index e5fb7cbbe..0d873939f 100644 --- a/changelogs/fragments/1462-fix-pylint-errors.yml +++ b/changelogs/fragments/1462-fix-pylint-errors.yml @@ -1,2 +1,3 @@ +--- minor_changes: - Fix ansible-bad-import-from pylint errors diff --git a/changelogs/fragments/1464-fix-mac-lookup-by-id.yml b/changelogs/fragments/1464-fix-mac-lookup-by-id.yml index eef22518d..8380e3a0b 100644 --- a/changelogs/fragments/1464-fix-mac-lookup-by-id.yml +++ b/changelogs/fragments/1464-fix-mac-lookup-by-id.yml @@ -1,2 +1,3 @@ +--- bugfixes: - "nb_device_interface: Fix specifying primary_mac_address objects by id for disambiguation" diff --git a/changelogs/fragments/1469-fix-old-apis.yml b/changelogs/fragments/1469-fix-old-apis.yml index cf4095018..8ed687cfa 100644 --- a/changelogs/fragments/1469-fix-old-apis.yml +++ b/changelogs/fragments/1469-fix-old-apis.yml @@ -1,2 +1,3 @@ +--- minor_changes: - Fix broken code path when using old api path on old netbox systems diff --git a/changelogs/fragments/contacts.yml b/changelogs/fragments/contacts.yml index 5ca638a62..e32d03a5a 100644 --- a/changelogs/fragments/contacts.yml +++ b/changelogs/fragments/contacts.yml @@ -1,2 +1,3 @@ +--- minor_changes: - netbox_contact_assignment - New module `#1480 ` diff --git a/changelogs/fragments/nb_inventory.yml b/changelogs/fragments/nb_inventory.yml index 8e5e470c9..f66b6078e 100644 --- a/changelogs/fragments/nb_inventory.yml +++ b/changelogs/fragments/nb_inventory.yml @@ -1,2 +1,3 @@ +--- bugfixes: - nb_inventory - Fixed empty inventory results when netbox server URL is a non-root path diff --git a/changelogs/fragments/netbox_circuit_termination.yml b/changelogs/fragments/netbox_circuit_termination.yml index 9e08c4cc5..c95a290de 100644 --- a/changelogs/fragments/netbox_circuit_termination.yml +++ b/changelogs/fragments/netbox_circuit_termination.yml @@ -1,2 +1,3 @@ +--- minor_changes: - netbox_circuit_termination - Add parameters termination_id and termination_type for NetBox 4.2+ diff --git a/changelogs/fragments/netbox_custom_field.yml b/changelogs/fragments/netbox_custom_field.yml index c05bd8138..cb90bde0f 100644 --- a/changelogs/fragments/netbox_custom_field.yml +++ b/changelogs/fragments/netbox_custom_field.yml @@ -1,2 +1,3 @@ +--- minor_changes: - Support for related_object_filter when related_object_type is "object" diff --git a/changelogs/fragments/netbox_service.yml b/changelogs/fragments/netbox_service.yml index 18045b1c3..0b7aa498c 100644 --- a/changelogs/fragments/netbox_service.yml +++ b/changelogs/fragments/netbox_service.yml @@ -1,2 +1,3 @@ +--- bugfixes: - netbox_service - Fix issue 1426 - broken netbox_service module diff --git a/changelogs/fragments/netbox_tag.yml b/changelogs/fragments/netbox_tag.yml index f54b55e94..33ea2003c 100644 --- a/changelogs/fragments/netbox_tag.yml +++ b/changelogs/fragments/netbox_tag.yml @@ -1,2 +1,3 @@ +--- minor_changes: - netbox_tag - Add support for object_types on tags diff --git a/changelogs/fragments/users-ordering.yml b/changelogs/fragments/users-ordering.yml index 34294fa00..7446dcd3f 100644 --- a/changelogs/fragments/users-ordering.yml +++ b/changelogs/fragments/users-ordering.yml @@ -1,2 +1,3 @@ +--- minor_changes: - user.groups, user.permissions, user_group.permissions, permission.actions, and permission.object_types are now treated as unordered sets for update comparison purposes. diff --git a/changelogs/fragments/yamllint.yml b/changelogs/fragments/yamllint.yml new file mode 100644 index 000000000..e4ffc93ac --- /dev/null +++ b/changelogs/fragments/yamllint.yml @@ -0,0 +1,3 @@ +--- +minor_changes: + - add yamllint to project pipeline. diff --git a/requirements.yml b/requirements.yml index 46c178c76..fbb60e9a5 100644 --- a/requirements.yml +++ b/requirements.yml @@ -1,2 +1,3 @@ +--- collections: - name: .