- Add scripts/validate_commit_msg.py with conventional commit enforcement - Add scripts/configure_repo.py for Gitea branch protection and labels - Add scripts/__init__.py for Python package importability - Create Gitea Actions workflows: ci, auto-merge, post-merge, publish - Update .pre-commit-config.yaml with commit-msg hook - Update pyproject.toml pythonpath and coverage for scripts - Add comprehensive unit tests for both scripts with 100% coverage
44 lines
1.0 KiB
YAML
44 lines
1.0 KiB
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [master]
|
|
push:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: docker
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
python3 -m venv .venv
|
|
.venv/bin/pip install -e ".[dev]"
|
|
.venv/bin/ansible-galaxy collection install -r ansible/requirements.yml
|
|
- name: Lint all
|
|
run: make lint-all
|
|
|
|
unit-tests:
|
|
runs-on: docker
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
python3 -m venv .venv
|
|
.venv/bin/pip install -e ".[dev]"
|
|
- name: Unit tests with 100% coverage
|
|
run: make pytest-cov
|
|
|
|
molecule-tests:
|
|
runs-on: docker
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
python3 -m venv .venv
|
|
.venv/bin/pip install -e ".[dev]"
|
|
.venv/bin/ansible-galaxy collection install -r ansible/requirements.yml
|
|
- name: Molecule tests (all 7 scenarios)
|
|
run: make molecule
|