117 lines
2.8 KiB
Markdown
117 lines
2.8 KiB
Markdown
# Conventional Commits for bootc Image Template
|
|
|
|
This repository follows [Conventional Commits v1.0.0](https://www.conventionalcommits.org/en/v1.0.0/) specification.
|
|
|
|
## Commit Message Format
|
|
|
|
```
|
|
<type>(<scope>): <subject>
|
|
|
|
[optional body]
|
|
|
|
[optional footer(s)]
|
|
```
|
|
|
|
## Types
|
|
|
|
Use these commit types for changes to this bootc image template:
|
|
|
|
- **build**: Changes to the image build process (Containerfile, build.sh)
|
|
- **ci**: Changes to GitHub Actions workflows
|
|
- **config**: Changes to disk image configurations (TOML files)
|
|
- **feat**: New features or packages added to the image
|
|
- **fix**: Bug fixes or corrections
|
|
- **docs**: Documentation changes only
|
|
- **chore**: Maintenance tasks (dependencies, metadata)
|
|
- **refactor**: Code restructuring without changing behavior
|
|
|
|
## Scopes
|
|
|
|
Use these scopes to indicate what part of the image is affected:
|
|
|
|
- **base**: Base image changes (FROM line in Containerfile)
|
|
- **packages**: Package installation/removal
|
|
- **services**: Systemd service configuration
|
|
- **disk**: Disk image configuration (ISO, QCOW2, RAW)
|
|
- **workflow**: GitHub Actions workflows
|
|
- **metadata**: Image metadata and branding
|
|
- **signing**: Cosign key and signing configuration
|
|
|
|
## Examples
|
|
|
|
### Adding Packages
|
|
```
|
|
feat(packages): add development tools and editors
|
|
|
|
- Install neovim, git, and htop
|
|
- Add Development Tools group
|
|
```
|
|
|
|
### Changing Base Image
|
|
```
|
|
build(base): switch from Bazzite to Bluefin
|
|
|
|
Changing to Bluefin for better developer tooling support
|
|
```
|
|
|
|
### Configuring Services
|
|
```
|
|
feat(services): enable SSH and container services
|
|
|
|
- Enable sshd.service for remote access
|
|
- Enable podman.socket for rootless containers
|
|
```
|
|
|
|
### ISO Configuration
|
|
```
|
|
config(disk): update ISO to use custom registry
|
|
|
|
Update bootc switch URL to point to ghcr.io/username/repo
|
|
```
|
|
|
|
### Workflow Changes
|
|
```
|
|
ci(workflow): enable automatic ISO builds
|
|
|
|
Configure build-disk.yml to trigger on main branch pushes
|
|
```
|
|
|
|
### Metadata Updates
|
|
```
|
|
chore(metadata): update image description and keywords
|
|
|
|
Update ArtifactHub metadata with project-specific information
|
|
```
|
|
|
|
### Documentation
|
|
```
|
|
docs: add installation instructions for new features
|
|
```
|
|
|
|
### Bug Fixes
|
|
```
|
|
fix(packages): disable COPR after package installation
|
|
|
|
Ensure COPR repositories don't persist in final image
|
|
```
|
|
|
|
## Breaking Changes
|
|
|
|
If a change is breaking (e.g., removing packages, changing base image significantly), add `!` after the type/scope:
|
|
|
|
```
|
|
build(base)!: migrate from Fedora 40 to Fedora 41
|
|
|
|
BREAKING CHANGE: This upgrade requires a clean reinstall for existing users.
|
|
```
|
|
|
|
## Tips
|
|
|
|
- Keep subject line under 50 characters
|
|
- Use imperative mood ("add" not "added" or "adds")
|
|
- Don't end subject line with a period
|
|
- Separate subject from body with a blank line
|
|
- Use body to explain *what* and *why*, not *how*
|
|
- Be short and concise, avoid long commit messages, keep it simple
|
|
- Reference issues/PRs in footer when applicable
|