Add support for defining dnf package groups to install

This commit is contained in:
badblocks 2024-10-30 13:08:35 -07:00
parent 388fd4f93d
commit 79cc4b6ef0
No known key found for this signature in database
3 changed files with 22 additions and 3 deletions

View file

@ -19,6 +19,17 @@ env:
IMAGE_REGISTRY: "ghcr.io/${{ github.repository_owner }}" # do not edit IMAGE_REGISTRY: "ghcr.io/${{ github.repository_owner }}" # do not edit
jobs: jobs:
get_pkg_lists:
name: Retrieve group package lists from fedora:latest dnf group list
runs-on: ubuntu-latest
container: fedora:latest
outputs:
GROUP_PKGS: ${{ steps.get_pkg_list.outputs.result }}
steps:
- id: get_pkg_list
run: |
echo result=$((dnf group info "C Development Tools and Libraries" && dnf group info "Development Tools") | grep -v : | tr -d '\n' | tr -s ' ' | cut -c2-) > "$GITHUB_OUTPUT"
build_push: build_push:
name: Build and push image name: Build and push image
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
@ -108,6 +119,8 @@ jobs:
# Postfix image name with -custom to make it a little more descriptive # Postfix image name with -custom to make it a little more descriptive
# Syntax: https://docs.github.com/en/actions/learn-github-actions/expressions#format # Syntax: https://docs.github.com/en/actions/learn-github-actions/expressions#format
image: ${{ env.MY_IMAGE_NAME }} image: ${{ env.MY_IMAGE_NAME }}
build-args: |
GROUP_PKGS=${{ env.GROUP_PKGS }}
tags: | tags: |
${{ steps.generate-tags.outputs.alias_tags }} ${{ steps.generate-tags.outputs.alias_tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}

View file

@ -50,6 +50,8 @@ FROM ghcr.io/ublue-os/${SOURCE_IMAGE}${SOURCE_SUFFIX}:${FEDORA_VERSION}
COPY build.sh /tmp/build.sh COPY build.sh /tmp/build.sh
ARG GROUP_PKGS
RUN mkdir -p /var/lib/alternatives && \ RUN mkdir -p /var/lib/alternatives && \
/tmp/build.sh && \ /tmp/build.sh && \
ostree container commit ostree container commit

View file

@ -1,6 +1,7 @@
#!/bin/sh #!/bin/sh
set -ouex pipefail set -oex pipefail
set +u
RELEASE="$(rpm -E %fedora)" RELEASE="$(rpm -E %fedora)"
@ -36,9 +37,12 @@ rpm-ostree install \
alsa-tools \ alsa-tools \
libappstream-glib \ libappstream-glib \
htop \ htop \
glances \ glances
task
# from dnf groups (specify in build.yml)
if [ -n "$GROUP_PKGS"]; then
rpm-ostree install $GROUP_PKGS
fi
# from rpmfusion # from rpmfusion
rpm-ostree install vlc rpm-ostree install vlc