Skip to content

Conversation

@paikend
Copy link
Collaborator

@paikend paikend commented Oct 26, 2025

Summary

Add tox configuration following OpenStack standards while keeping uv for development.

Changes

  • Add tox.ini with OpenStack-style environments
  • Add Development section to README.md with both uv and tox workflows
  • Add .DS_Store to .gitignore

Motivation

Most OpenStack projects use tox for testing and CI/CD. This allows OpenStack contributors to use familiar tox commands while maintaining uv for fast local development.

Use Cases

  • Run tests: tox -e py3 or tox -e py310
  • Run linting: tox -e pep8
  • Generate coverage: tox -e cover (85%+ coverage)
  • Run in venv: tox -e venv -- <command>
  • Auto-format: tox -e format

Testing

All environments tested and working:

  • tox -e py3 - 156 tests passed
  • tox -e pep8 - All checks passed
  • tox -e cover - 85% coverage
  • tox -e venv - Working
  • uv workflow - All commands working

#99

Add macOS system file to gitignore to prevent accidental commits
Add tox.ini following OpenStack project standards to support:
- Multiple Python versions testing (py3, py310-313)
- Style checking with ruff (pep8 environment)
- Code formatting (format environment)
- Coverage reporting (cover environment)
- Debug support (debug environment)
- Virtual environment for arbitrary commands (venv environment)

This allows OpenStack contributors to use familiar tox commands
while maintaining uv for fast local development.
Add comprehensive development documentation including:
- Setup instructions for both uv and tox workflows
- uv commands for fast local development
- tox commands following OpenStack standards
- Testing section with coverage information (85%+)

This helps contributors choose their preferred development workflow.
S0okJu
S0okJu previously approved these changes Oct 26, 2025
Copy link
Collaborator

@S0okJu S0okJu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding .DS_Store.

  Move tox.ini dependencies to pyproject.toml dependency-groups
  and update all tox environments to use 'uv sync' instead of
  hardcoded dependency lists. This establishes pyproject.toml
  as the single source of truth for dependency management.

  Changes:
  - Add coverage tools to test dependency group
  - Update tox environments to use 'uv sync --group {test|dev}'
  - Replace direct commands with 'uv run' for consistency

  This maintains OpenStack tox standards while leveraging uv's
  speed. All tests passing (156/156, 85% coverage).
Copy link
Collaborator

@halucinor halucinor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@S0okJu S0okJu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@paikend paikend merged commit 5a1df75 into develop Oct 29, 2025
6 checks passed
@paikend paikend deleted the feature/add-tox-setting branch October 29, 2025 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants