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

82 lines
1.6 KiB
Markdown

# 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
```bash
# Build the binary
make build-binary
# Build the container
make build-container
# Run tests
make test
```
### Testing
```bash
# 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.