Skip to content

Releases: craigdbarber/bazel-python-hermetic-blueprint

0.4

Choose a tag to compare

@craigdbarber craigdbarber released this 08 May 18:34

Removed vale from build configuration.
Update pylint target to utilize aspect_bazel_lib as dependency removing the need to include all project deps.

v0.3: Industrial-Grade Python Tooling & Hermeticity

Choose a tag to compare

@craigdbarber craigdbarber released this 07 May 17:59

Major Changes in v0.3

This release marks a significant milestone in the project’s evolution towards a production-ready, hermetic Python development environment.

🚀 Features & Enhancements

  • Hermetic Python 3.14 Toolchain: Full integration of hermetic Python toolchains via aspect_rules_py, ensuring identical execution environments across all machines.
  • uv Integration: Lightning-fast dependency resolution and locking using uv, seamlessly integrated into the Bazel build graph.
  • Native Pytest Integration: Optimized test execution using native pytest runners within Bazel for better performance and reporting.
  • Automated Quality Control:
    • Formatting: Automatic Python (Ruff) and Starlark (Buildifier) formatting via the tools/bazel interceptor.
    • Advanced Linting Suite: A comprehensive audit pipeline including Pylint (logic), Ruff (style/security), Bandit (security), Flake8 (syntax), Vale (prose/docs), and Ty (type checking).
    • Buildifier: Integrated linting for Bazel BUILD and .bzl files.

📖 Documentation

  • Updated Architecture Docs: Comprehensive deep-dive into the build system and toolchain design.
  • Enhanced README: Improved onboarding instructions and usage examples for the new audit and formatting workflows.

🧹 Maintenance

  • Version synchronized to 0.3.0 across MODULE.bazel and pyproject.toml.
  • Deprecated legacy blog directory in favor of integrated documentation.

v0.2: Enhanced Auditing & Rebranding

Choose a tag to compare

@craigdbarber craigdbarber released this 06 May 01:45

Major Changes Since v0.1

🚀 Rebranding & Architecture

  • Project Rebranding: Renamed the project to Bazel Python Hermetic Blueprint to better reflect its production-ready design.
  • Architecture Documentation: Added a comprehensive Build Architecture & Design document with design diagrams and deep-dives into the build system.
  • Technology Stack: Added a detailed stack overview in the README with links to all core tool documentation.

🛡️ Security & Quality Audits

  • Enhanced Bandit Auditing: Added a dedicated bandit_test target and a root-level bandit alias for deep recursive security scans of the source directory.
  • Markdown Linting: Integrated Vale for automated prose and documentation linting.
  • Multi-Platform Support: Configured hermetic toolchains for both macOS and Linux (arm64/x86_64) to ensure audit consistency across development and CI environments.

🤖 CI/CD & Automation

  • Strict Formatting Enforcement: CI now explicitly fails if code is not formatted according to Ruff standards.
  • Smart Bazel Wrapper: Updated tools/bazel to intelligently skip auto-formatting in CI to maintain build immutability.
  • Automated Remediation: Mandated automated CI failure diagnosis and remediation in GEMINI.md.
  • Git Flow & PR Mandate: Formalized the Git Flow branching model and prohibited direct pushes to the main branch.

Initial project release

Choose a tag to compare

@craigdbarber craigdbarber released this 03 May 21:25
feat: enhance security auditing and enforce formatting in CI

- Add a standalone bandit_test target for deep security analysis.
- Add a bandit alias in the root BUILD file for easier execution.
- Update CI workflow to enforce code formatting using Ruff check mode.
- Update the Bazel wrapper to skip auto-formatting in CI environments.
- Update documentation to reflect new security and formatting workflows.