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
82 lines
1.6 KiB
Markdown
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.
|