Add bootc CI workflow and Dockerfile
All checks were successful
Build bootc with Debian packaging / build (push) Successful in 4m55s

- Create Dockerfile for building bootc with Rust and OSTree support
- Add comprehensive CI workflow based on bootupd-sdboot pattern
- Includes apt-cacher-ng support for faster builds
- Builds bootc from composefs-backend branch
- Creates Debian package with proper dependencies
- Uploads to Forgejo Debian Registry
- Uses docker cp to transfer files from container to host
- Includes all three bootc binaries: bootc, system-reinstall-bootc, bootc-initramfs-setup
This commit is contained in:
robojerk 2025-09-05 15:28:07 -07:00
commit 5131e4f84f
3 changed files with 316 additions and 0 deletions

54
README.md Normal file
View file

@ -0,0 +1,54 @@
# Bootc CI/CD Pipeline
This repository contains the CI/CD pipeline for building and packaging `bootc` - a tool for deploying and managing bootable container images.
## What's Included
- **Dockerfile**: Builds bootc with Rust toolchain and OSTree support
- **CI Workflow**: Complete CI/CD pipeline that:
- Builds bootc from source (composefs-backend branch)
- Creates Debian packages
- Uploads to Forgejo Debian Registry
- Uses apt-cacher-ng for faster builds
## Features
- ✅ **Source Build**: Builds bootc from GitHub source (composefs-backend branch)
- ✅ **Debian Packaging**: Creates proper .deb packages
- ✅ **OSTree Integration**: Includes OSTree support for atomic updates
- ✅ **Composefs Backend**: Uses composefs backend for efficient storage
- ✅ **Registry Upload**: Automatically uploads to Forgejo
- ✅ **Caching**: Uses apt-cacher-ng for faster builds
- ✅ **Docker Integration**: Uses Docker for isolated builds
## Binaries Included
- `bootc` - Main bootc command
- `system-reinstall-bootc` - System reinstall utility
- `bootc-initramfs-setup` - Initramfs setup tool
## Usage
The CI workflow will automatically:
1. Clone the bootc source code from composefs-backend branch
2. Build it with Rust cargo
3. Create a Debian package
4. Upload to the Forgejo Debian Registry
## Dependencies
- `libc6 (>= 2.39)`
- `libgcc-s1 (>= 3.0)`
- `libssl3t64 (>= 3.0.0)`
- `libostree-1-1 (>= 2023.1)`
## Installation
Once the CI runs successfully, install with:
```bash
apt install bootc
```
## Branch
This CI builds from the `composefs-backend` branch, which includes composefs support for efficient container image management.