deb-bootc-image-builder/HACKING.md
robojerk 126ee1a849
Some checks failed
particle-os CI / Test particle-os (push) Failing after 1s
particle-os CI / Integration Test (push) Has been skipped
particle-os CI / Security & Quality (push) Failing after 1s
Test particle-os Basic Functionality / test-basic (push) Failing after 1s
particle-os CI / Build and Release (push) Has been skipped
cleanup
2025-08-27 12:30:24 -07:00

1.6 KiB

Hacking on deb-bootc-image-builder

This document provides information for developers who want to contribute to deb-bootc-image-builder.

Development Environment

Prerequisites

  • Go 1.21 or later
  • Python 3.8+ (for testing)
  • Docker or Podman
  • Make

Building

# Build the binary
make build-binary

# Build the container
make build-container

# Run tests
make test

Testing

# Run all tests
make test

# Run specific test categories
pytest test/unit/
pytest test/integration/
pytest test/performance/

# Run with FMF
fmf run --all

Project Structure

This project follows the standard osbuild repository structure:

  • bib/ - Main Go application
  • test/ - Test files and utilities
  • scripts/ - Utility scripts organized by function
  • docs/ - Project documentation
  • .fmf/ - FMF testing framework

Code Style

Go Code

  • Follow Go standard formatting (go fmt)
  • Use golangci-lint for linting
  • Follow Go naming conventions
  • Include proper error handling

Python Code

  • Follow PEP 8 style guidelines
  • Use type hints where appropriate
  • Include docstrings for functions and classes

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass
  6. Submit a pull request

Getting Help

  • GitHub Issues: For bug reports and feature requests
  • GitHub Discussions: For questions and general discussion
  • Matrix: Join #image-builder on fedoraproject.org

License

This project is licensed under the Apache License, Version 2.0.