Skip to content

Commit

Permalink
builder: New container image
Browse files Browse the repository at this point in the history
This will be the container image buildroot.
  • Loading branch information
cgwalters committed Nov 4, 2023
1 parent d196274 commit 04ef633
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: builder

on:
push:
pull_request:
branches:
- main

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository_owner }}/builder

jobs:
build-image:
runs-on: ubuntu-latest

steps:
- name: Install qemu dependency
run: |
sudo apt-get update
sudo apt-get install -y qemu-user-static
- name: Checkout repository
uses: actions/checkout@v3
- name: Login
run: buildah login --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} ${{ env.REGISTRY }}
- name: Build
uses: redhat-actions/buildah-build@v2
with:
image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: latest
containerfiles: ./builder/Containerfile
archs: amd64, ppc64le, s390x, arm64
oci: true
context: builder
- name: Push
run: buildah push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
5 changes: 5 additions & 0 deletions builder/Containerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# This image contains the baseline tools to build bootable base images.
FROM quay.io/centos/centos:stream9
COPY . /src
RUN /src/build.sh && cd / && rm /src -rf

21 changes: 21 additions & 0 deletions builder/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash
set -xeuo pipefail

pkginstall() {
dnf -y install "$@"
}

pkginstall dnf-utils
dnf config-manager --set-enabled crb
pkginstall epel-release epel-next-release
# The repo files reference GPG keys
pkginstall distribution-gpg-keys
# rpm-ostree for builds, and need skopeo to do the container backend
pkginstall rpm-ostree skopeo
# For derived container builds
pkginstall buildah
# And a rust toolchain
pkginstall cargo openssl-devel

# Build tools
pkginstall selinux-policy-targeted osbuild crypto-policies-scripts sudo

0 comments on commit 04ef633

Please sign in to comment.