# ContainerImage.ActRunnerExtended ![Build Status](https://code.spamasaurus.com/djpbessems/ContainerImage.ActRunnerExtended/actions/workflows/actions.yaml/badge.svg) ![Image Size](https://img.shields.io/docker/image-size/djpbessems/act-runner-extended/1.0.0-cth20250815?label=image%20size) [![License: GPL v3](https://img.shields.io/badge/license-GPLv3-blue.svg)](./LICENSE.md) This image extends [`catthehacker/ubuntu:act-24.04`](https://github.com/catthehacker/docker-images) by including the following utilities: - File templating - `gettext` (provides `envsubst`) - ISO creation - `genisoimage` (generate cloud-init seed images) - VM image building - `qemu-system-x86` - `qemu-utils` (provides `qemu-img`) - VM image filesystem access - `supermin` (prerequisite) - `libguestfs-tools` (provides `guestfish`, `virt-sparsify`, etc) It’s designed for use in self-hosted [act-runners](https://docs.gitea.com/usage/actions/act-runner), to operate in environments similar to local QEMU/KVM-based pipelines. --- ## Usage in an Actions Workflow To use this image in a job/step, add the `container:` directive: ```yaml jobs: build-vm: runs-on: ubuntu-latest container: image: code.spamasaurus.com/djpbessems/act-runner-extended:1.0.0-cth250815 steps: - name: Checkout code uses: actions/checkout@v4 - name: Build virtual disk image run: | qemu-img create -f qcow2 disk.qcow2 2G # other build steps here ``` --- ## Available Tags Tags follow the format: ```text -cth ``` Example: - `1.0.0-cth20250815` → Version 1.0.0 of the image, based on `catthehacker/ubuntu:act-24.04-20250815` **See [`catthehacker/ubuntu`](https://github.com/catthehacker/docker-images)** Browse available [tags](https://code.spamasaurus.com/djpbessems/-/packages/container/act-runner-extended/versions) --- ## License This repository and the Dockerfiles, scripts, and custom files provided here are licensed under the [GNU General Public License v3.0 (GPLv3)](./LICENSE.md). The included packages are licensed under free software licenses compatible with GPLv3, including GPLv2, LGPL, and related licenses. This license applies only to the custom files and Docker configurations you find in this repository, **not** to the upstream base image or the precompiled binaries installed within the image. Please refer to the individual package documentation and upstream repositories for their specific licensing terms.