From ea8c349f6dce955696850198b8544d0203b467fb Mon Sep 17 00:00:00 2001 From: Roberto Bertó <463349+robertoberto@users.noreply.github.com> Date: Tue, 19 May 2026 02:35:08 +0000 Subject: chore: clean packaging and development tooling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit modernizes the project's tooling and packaging without changing the runtime code. It addresses dead workflows, obsolete helper scripts, duplicated configuration, and stale developer docs. Removed: - .github/workflows/python-app.yml: targeted Python 3.12, referenced a non-existent requirements.txt, ran only flake8 with pytest commented out - Makefile: hard-coded env/bin/python paths that do not work with uv - run_tests.sh and run_tests.py: duplicated each other and referenced removed modules (test_exceptions, test_quick) - sphinx/ and .readthedocs.yaml: the RTD config pointed to docs/source/conf.py while the sphinx tree lived under sphinx/source, so the build never worked and no docs were ever published - docs/development/architecture.md, refactor-roadmap.md, and quality-and-utils.md: described the pre-cleanup proposal that included specs/exceptions/request_id, now contradicted by the code Edited: - pyproject.toml: - dropped the validation extra (Pydantic) — specs/ is gone - dropped the duplicated [tool.hatch.metadata].dependencies block - dropped the duplicated [dependency-groups].dev block - declared the wheel package explicitly via [tool.hatch.build.targets.wheel].packages - bumped pytest floor to >=8.0 (Python 3.13 compatible) - added richer classifiers (Development Status, audience, topic, Typing :: Typed), keywords, license file pointer, and a Changelog URL - .github/workflows/python-pr-validation.yml: upgraded to actions/checkout@v4 and setup-python@v5, switched to astral-sh/setup-uv, removed obsolete architecture argument - .github/dependabot.yml: added the github-actions ecosystem so workflow versions stay current Added: - pyvyos/py.typed: PEP 561 marker advertising the package as typed - .pre-commit-config.yaml: neutral hooks only (whitespace, EOF, YAML/TOML syntax, large-file guard); no formatters or linters yet Kept: - docs/development/vyos_api/: JSON reference for the VyOS HTTPS API, useful for future contract tests Tests still pass: 57/57. --- .github/workflows/python-pr-validation.yml | 34 ++++++++++++++++-------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to '.github/workflows/python-pr-validation.yml') diff --git a/.github/workflows/python-pr-validation.yml b/.github/workflows/python-pr-validation.yml index 3aae387..611372b 100644 --- a/.github/workflows/python-pr-validation.yml +++ b/.github/workflows/python-pr-validation.yml @@ -1,29 +1,31 @@ -name: Python Pull Request Validation Workflow +name: Pull Request Validation on: - pull_request: - branches: [ "main", "master" ] + pull_request: + branches: ["main"] + +permissions: + contents: read jobs: - Validation: + validate: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - name: Set up Python 3.12 - uses: actions/setup-python@v2 + - name: Set up Python 3.13 + uses: actions/setup-python@v5 with: python-version: "3.13" - architecture: "x64" + + - name: Install uv + uses: astral-sh/setup-uv@v3 + with: + enable-cache: true - name: Install dependencies - run: | - python3 -m pip install --upgrade pip - pip install uv - uv venv - uv pip install -e .[dev] + run: uv sync --extra dev - - name: Python Run Tests - run: | - uv run pytest -v + - name: Run tests + run: uv run pytest -v -- cgit v1.2.3