Skip to content

Commit d1bb94c

Browse files
author
pull clone
committed
Use bootc-image-builder action in disk workflow
1 parent d84b415 commit d1bb94c

File tree

1 file changed

+18
-53
lines changed

1 file changed

+18
-53
lines changed

.github/workflows/build-disk.yml

Lines changed: 18 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ jobs:
5858
echo "DISK_TYPE=${DISK_TYPE}" >> ${GITHUB_ENV}
5959
echo "USER_UID=${USER_UID}" >> ${GITHUB_ENV}
6060
echo "USER_GID=${USER_GID}" >> ${GITHUB_ENV}
61+
CONFIG_FILE="./disk_config/disk.toml"
62+
if [[ "${{ matrix.disk-type }}" == "anaconda-iso" ]]; then
63+
CONFIG_FILE="./disk_config/iso.toml"
64+
fi
65+
echo "CONFIG_FILE=${CONFIG_FILE}" >> ${GITHUB_ENV}
6166
6267
- name: Install dependencies
6368
if: inputs.platform == 'arm64'
@@ -83,64 +88,24 @@ jobs:
8388
- name: Checkout
8489
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
8590

86-
- name: Build disk images
87-
id: build
88-
shell: bash
91+
- name: Configure podman defaults
8992
run: |
90-
set -euo pipefail
91-
sudo rm -rf ./output
92-
mkdir -p ./output
93-
osbuild_dir="${GITHUB_WORKSPACE}/.osbuild"
94-
var_tmp_dir="${GITHUB_WORKSPACE}/.var_tmp"
95-
graphroot="${GITHUB_WORKSPACE}/.containers/storage"
96-
containers_conf="${GITHUB_WORKSPACE}/containers.conf"
97-
run_libpod_dir="${GITHUB_WORKSPACE}/.run/libpod"
98-
run_containers_storage_dir="${GITHUB_WORKSPACE}/.run/containers/storage"
99-
run_crun_dir="${GITHUB_WORKSPACE}/.run/crun"
100-
osbuild_store_dir="${GITHUB_WORKSPACE}/.osbuild-store"
101-
osbuild_rpmmd_dir="${GITHUB_WORKSPACE}/.osbuild-rpmmd"
102-
sudo rm -rf "${osbuild_dir}" "${var_tmp_dir}" "${graphroot}" "${run_libpod_dir}" "${run_containers_storage_dir}" "${run_crun_dir}" "${osbuild_store_dir}" "${osbuild_rpmmd_dir}"
103-
sudo mkdir -p "${osbuild_dir}" "${var_tmp_dir}" "${graphroot}" "${run_libpod_dir}" "${run_containers_storage_dir}" "${run_crun_dir}" "${osbuild_store_dir}" "${osbuild_rpmmd_dir}"
104-
sudo umount /var/lib/containers/storage || true
105-
sudo rm -rf /var/lib/containers/storage
106-
sudo mkdir -p /var/lib/containers/storage
107-
sudo mount --bind "${graphroot}" /var/lib/containers/storage
108-
cat > "${containers_conf}" <<EOF
93+
sudo mkdir -p /etc/containers
94+
cat <<'EOF' | sudo tee /etc/containers/containers.conf
10995
[engine]
11096
events_logger = "none"
11197
EOF
11298
113-
config_file="./disk_config/disk.toml"
114-
extra_args="--use-librepo=True --rootfs btrfs"
115-
if [[ "${{ matrix.disk-type }}" == "anaconda-iso" ]]; then
116-
config_file="./disk_config/iso.toml"
117-
fi
118-
119-
sudo CONTAINERS_CONF="${containers_conf}" \
120-
podman pull "${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }}"
121-
122-
sudo podman run --rm --privileged \
123-
--security-opt label=type:unconfined_t \
124-
--volume "${graphroot}:/var/lib/containers/storage" \
125-
--volume "${osbuild_dir}:/run/osbuild" \
126-
--volume "${var_tmp_dir}:/var/tmp" \
127-
--volume "${run_libpod_dir}:/run/libpod" \
128-
--volume "${run_containers_storage_dir}:/run/containers/storage" \
129-
--volume "${run_crun_dir}:/run/crun" \
130-
--volume "${osbuild_store_dir}:/store" \
131-
--volume "${osbuild_rpmmd_dir}:/rpmmd" \
132-
--volume ./output:/output \
133-
--volume "${config_file}:/config.toml:ro" \
134-
--volume "${containers_conf}:/etc/containers/containers.conf:ro" \
135-
quay.io/centos-bootc/bootc-image-builder:latest build \
136-
--output /output \
137-
--chown "${{ env.USER_UID }}:${{ env.USER_GID }}" \
138-
${extra_args} \
139-
--type "${{ matrix.disk-type }}" \
140-
"${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }}"
141-
142-
echo "output-directory=$(pwd)/output" >> "$GITHUB_OUTPUT"
143-
99+
- name: Build disk images
100+
id: build
101+
uses: osbuild/bootc-image-builder-action@019bb59c5100ecec4e78c9e94e18a840110f7a0b # v0.0.2
102+
with:
103+
config-file: ${{ env.CONFIG_FILE }}
104+
image: ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }}
105+
rootfs: btrfs
106+
additional-args: --use-librepo=True
107+
types: ${{ matrix.disk-type }}
108+
chown: ${{ env.USER_UID }}:${{ env.USER_GID }}
144109

145110
- name: Upload disk images and Checksum to Job Artifacts
146111
if: inputs.upload-to-s3 != true && github.event_name != 'pull_request'

0 commit comments

Comments
 (0)