Files
valid.nsupdate_zone/.gitea/workflows/test.yml
Daniel Akulenok bc89896e59
Some checks failed
Test Collection / Sanity Tests (Ansible devel) (push) Failing after 12s
Test Collection / Sanity Tests (Ansible stable-2.15) (push) Failing after 29s
Test Collection / Sanity Tests (Ansible stable-2.16) (push) Failing after 29s
Test Collection / Documentation Check (push) Successful in 7s
Test Collection / Unit Tests (push) Successful in 7s
Test Collection / Sanity Tests (Ansible stable-2.17) (push) Failing after 27s
Test Collection / Python Syntax Check (push) Successful in 6s
Test Collection / Build Collection (push) Failing after 8s
Test Collection / YAML and Ansible Lint (push) Successful in 11s
Refactor code structure for improved readability and maintainability
2026-01-29 21:25:36 +01:00

183 lines
4.7 KiB
YAML

name: Test Collection
on:
push:
branches: [main, master, develop]
pull_request:
branches: [main, master, develop]
workflow_dispatch:
jobs:
sanity:
name: Sanity Tests (Ansible ${{ matrix.ansible-version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ansible-version:
- stable-2.15
- stable-2.16
- stable-2.17
- devel
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
path: ansible_collections/valid/nsupdate_zone
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Ansible
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-version }}.tar.gz --disable-pip-version-check
- name: Install collection dependencies
run: pip install -r requirements.txt
working-directory: ansible_collections/valid/nsupdate_zone
- name: Run sanity tests
run: ansible-test sanity --docker -v --color
working-directory: ansible_collections/valid/nsupdate_zone
syntax:
name: Python Syntax Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Check Python syntax
run: |
python -m py_compile plugins/modules/nsupdate_zone.py
python -m py_compile plugins/module_utils/deps.py
echo "✓ All Python files have valid syntax"
build:
name: Build Collection
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Ansible
run: pip install ansible-core
- name: Build collection
run: ansible-galaxy collection build
- name: Verify tarball
run: |
if [ -f valid-nsupdate_zone-*.tar.gz ]; then
echo "✓ Collection built successfully"
ls -lh valid-nsupdate_zone-*.tar.gz
tar -tzf valid-nsupdate_zone-*.tar.gz | head -20
else
echo "✗ Collection build failed"
exit 1
fi
- name: Upload collection artifact
uses: actions/upload-artifact@v4
with:
name: collection
path: valid-nsupdate_zone-*.tar.gz
retention-days: 7
lint:
name: YAML and Ansible Lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
path: ansible_collections/valid/nsupdate_zone
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install ansible-core ansible-lint yamllint
- name: Run yamllint
run: yamllint .
working-directory: ansible_collections/valid/nsupdate_zone
continue-on-error: true
- name: Run ansible-lint
run: ansible-lint
working-directory: ansible_collections/valid/nsupdate_zone
continue-on-error: true
documentation:
name: Documentation Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
path: ansible_collections/valid/nsupdate_zone
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Ansible
run: pip install ansible-core
- name: Validate module documentation
run: |
ansible-doc valid.nsupdate_zone.nsupdate_zone
working-directory: ansible_collections/valid/nsupdate_zone
unit:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
path: ansible_collections/valid/nsupdate_zone
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Ansible and dependencies
run: |
pip install ansible-core
pip install -r requirements.txt
working-directory: ansible_collections/valid/nsupdate_zone
- name: Run unit tests
run: |
if [ -d "tests/unit/plugins/modules" ] && [ "$(ls -A tests/unit/plugins/modules)" ]; then
ansible-test units --docker -v --color
else
echo "⚠ No unit tests found - skipping"
fi
working-directory: ansible_collections/valid/nsupdate_zone
continue-on-error: true