GitHub Action for building ISOs and disk images for Bootable Containers.
This action is intended to be a near 1:1 mapping of the Bootc Image Builder project. It is not interested in providing additional features or functionality beyond what is provided Bootc Image Builder, and therefore these features should be implemented in the upstream project itself. A few exceptions may be made on a case-by-case basis.
An ISO can be built using the following workflow snippet:
- name: Build ISO
id: build-iso
uses: osbuild/[email protected]
with:
config-file: ./iso-config.toml
image: quay.io/fedora/fedora-silverblue:latest
types: |
iso
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: iso
path: ${{ steps.build-iso.outputs.output-directory }}
if-no-files-found: error
Path to the configuration file.
The image to use for building the ISO.
The image to use for building the ISO.
Default: quay.io/centos-bootc/bootc-image-builder:latest
Additional arguments to pass to Bootc Image Builder. This can be used to enable experimental features or to pass additional arguments not natively supported by this action.
The user and group to use for the output directory. In the form of user:group
.
The root filesystem to use for the disk image.
Whether to verify TLS certificates.
Default: true
The types of artifacts to build. Can be any type supported by osbuild/bootc-image-builder.
Default: qcow2
Note: Only non-cloud types are currently tested.
The name of the AMI to create. Required when an ami
type is requested.
The region to create the AMI in. Required when an ami
type is requested.
The name of the S3 bucket to upload the AMI to. Required when an ami
type is
requested.
The directory containing the built artifacts. Files will be nested in subdirectories based on the type of artifact.
A JSON array of the paths to the built artifacts.
Example (prettified):
{
"vhd": {
"type": "vhd",
"path": "/home/runner/work/bootc-image-builder-action/bootc-image-builder-action/output/vpc/disk.vhd",
"checksum": "a38c872fb03c93cebd4658a878ecb94a38fabfb913d68570dfeb7e6c39134732"
},
"vmdk": {
"type": "vmdk",
"path": "/home/runner/work/bootc-image-builder-action/bootc-image-builder-action/output/vmdk/disk.vmdk",
"checksum": "e6e1ee599a294da25512fb8dbc21b5578f90e6937bd8341669c251a6f64407e1"
},
"qcow2": {
"type": "qcow2",
"path": "/home/runner/work/bootc-image-builder-action/bootc-image-builder-action/output/qcow2/disk.qcow2",
"checksum": "fb740cacb1258e061990e832e7a3ff148d9e56dc553013bba891a1f12fd8e73b"
},
"raw": {
"type": "raw",
"path": "/home/runner/work/bootc-image-builder-action/bootc-image-builder-action/output/image/disk.raw",
"checksum": "b139fe8b3702291c95de264b01d5a5a342cba6265511dd05c5784dbbdb37a268"
}
}
The path to the manifest file used to build the artifacts.
The path to the qcow2 artifact. If the artifact type was not requested, this will be an empty string.
The checksum of the qcow2 artifact. If the artifact type was not requested, this will be an empty string.
The path to the VMDK artifact. If the artifact type was not requested, this will be an empty string.
The checksum of the VMDK artifact. If the artifact type was not requested, this will be an empty string.
The path to the Anaconda ISO artifact. If the artifact type was not requested, this will be an empty string.
The checksum of the Anaconda ISO artifact. If the artifact type was not requested, this will be an empty string.
The path to the raw artifact. If the artifact type was not requested, this will be an empty string.
The checksum of the raw artifact. If the artifact type was not requested, this will be an empty string.
The path to the VHD artifact. If the artifact type was not requested, this will be an empty string.
The checksum of the VHD artifact. If the artifact type was not requested, this will be an empty string.
This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.