Public Access
DEVX-153: feat: sync missing features from v0.49.x line to master
Co-authored-by: emil User <emil.simeonov@tutanota.com>
This commit was merged in pull request #267.
This commit is contained in:
@@ -28,6 +28,11 @@ make workflow-check # workflow-lint + workflow-dryrun
|
||||
make devx-check-doc-versions # Verify docs version refs match __version__
|
||||
make devx-vale # Run Vale prose linter on docs and README
|
||||
make clean # Remove caches, build artifacts, coverage data
|
||||
make check-workflow-artifact-deps # Verify artifact download jobs depend on upload jobs
|
||||
make check-workflow-tofu-init # Verify tofu-state jobs have a tofu-init step
|
||||
make check-docker-init # Check Docker Compose services with healthchecks have init: true
|
||||
make check-ansible-set-fact-to-json # Check set_fact tasks don't misuse to_json
|
||||
make check-alert-rules # Validate Prometheus alert rules with promtool
|
||||
```
|
||||
|
||||
`make setup` automatically installs all development tools:
|
||||
@@ -90,7 +95,10 @@ src/devx/
|
||||
│ ├── doc_coverage.py # Documentation coverage check
|
||||
│ ├── lint_docs.py # Documentation linter (structure, links, headings, code blocks, orphans)
|
||||
│ ├── validate_deploy_ref.py # Validate git tag for deployments (--github-output)
|
||||
│ └── record_deployed_tag.py # Record deployed tag to Gitea repo variable
|
||||
│ ├── record_deployed_tag.py # Record deployed tag to Gitea repo variable
|
||||
│ ├── cancel_superseded_runs.py # Cancel in-flight CI runs for the same PR branch
|
||||
│ ├── check_workflow_artifact_deps.py # Verify artifact download jobs depend on upload jobs
|
||||
│ └── check_workflow_tofu_init.py # Verify tofu-state jobs have a tofu-init step
|
||||
├── tools/ # Developer tooling modules (run locally or by CI)
|
||||
│ ├── setup.py # Environment setup (venv, deps, hooks)
|
||||
│ ├── install_tools.py # Install actionlint, git-cliff, act_runner, tea, hadolint, vale
|
||||
@@ -113,10 +121,13 @@ src/devx/
|
||||
│ ├── pr_logs.py # Fetch logs for failed CI jobs
|
||||
│ ├── pr_label.py # Add labels to PRs (idempotent)
|
||||
│ ├── pre_push_check.py # Validate Vikunja task existence before push
|
||||
│ ├── check_docker_init.py # Check Docker Compose services with healthchecks have init: true
|
||||
│ ├── check_ansible_set_fact_to_json.py # Check set_fact tasks don't misuse to_json
|
||||
│ ├── check_alert_rules.py # Validate Prometheus alert rules with promtool
|
||||
│ └── _shared.py # Shared tool utilities
|
||||
├── opentofu.py # OpenTofu output helpers (get_tofu_output, get_tofu_vm_ip, get_tofu_vm_field)
|
||||
├── utils/ # Shared utilities (reusable across projects)
|
||||
│ ├── api.py # API response helpers (is_truthy, is_falsy)
|
||||
│ ├── api.py # API response helpers (is_truthy, is_falsy) + APIClient base class
|
||||
│ ├── ssh.py # SSH exec + wait_for_ssh (pure-Python socket check)
|
||||
│ ├── crypto.py # Secret generation (shell-safe passwords)
|
||||
│ ├── vault.py # Ansible vault encrypt/decrypt helpers
|
||||
@@ -124,7 +135,9 @@ src/devx/
|
||||
│ ├── confirm.py # Typed confirmation validation for destructive ops
|
||||
│ ├── json_registry.py # File-locked JSON registry for local state
|
||||
│ ├── step_tracker.py # Multi-step operation tracking with reports
|
||||
│ └── logging.py # XDG-compliant logging configuration
|
||||
│ ├── logging.py # XDG-compliant logging configuration
|
||||
│ ├── ui.py # say() — unified click.echo + logging output
|
||||
│ └── jinja.py # Jinja2 environment helpers + Ansible-compatible filters
|
||||
└── molecule/ # Optional molecule testing helpers (for Ansible projects)
|
||||
├── discover_runners.py # Dynamic Gitea runner discovery
|
||||
├── distribute_molecule.py # Distribute molecule scenarios across runners (LPT scheduling, --roles-root for multi-role)
|
||||
|
||||
Reference in New Issue
Block a user