@@ -19,7 +19,26 @@ case "$ID" in
1919esac
2020
2121if [ " $TMT_REBOOT_COUNT " -eq 0 ]; then
22+ if [[ -v KOJI_TASK_ID ]]; then
23+ # Fedora CI
24+ echo " $TMT_SOURCE_DIR "
25+ ls -al " $TMT_SOURCE_DIR "
26+ ls -al " $TMT_SOURCE_DIR /SRPMS"
27+ ls -al /etc/yum.repos.d
28+ cat /etc/yum.repos.d/test-artifacts.repo
29+ ls -al /var/share/test-artifacts
30+ # get bootc and system-reinstall-bootc rpm package name
31+ BOOTC_RPM_FULL_PATH=$( find /var/share/test-artifacts/ -type f | grep -E ' /bootc-[0-9].[0-9].[0-9]-[0-9].fc[0-9]{2}.(x86_64|aarch64).rpm$' )
32+ BOOTC_RPM_FILE_NAME=$( basename " $BOOTC_RPM_FULL_PATH " )
33+ SYSTEM_REINSTALL_BOOTC_RPM_FULL_PATH=$( find /var/share/test-artifacts/ -type f | grep -E ' /system-reinstall-bootc-[0-9].[0-9].[0-9]-[0-9].fc[0-9]{2}.(x86_64|aarch64).rpm$' )
34+ SYSTEM_REINSTALL_BOOTC_RPM_FILE_NAME=$( basename " $SYSTEM_REINSTALL_BOOTC_RPM_FULL_PATH " )
35+ # Copy bootc rpm package to image build root folder
36+ cp " $BOOTC_RPM_FULL_PATH " " $SYSTEM_REINSTALL_BOOTC_RPM_FULL_PATH " " $BOOTC_TEMPDIR "
37+ fi
38+
2239 # Copy bootc root folder to image build root folder
40+ # Required by bootc CI to build bootc binary
41+ # And Required by Fedora CI for some folders for test
2342 cp -a ../../. " $BOOTC_TEMPDIR "
2443
2544 # TMT needs this key
@@ -40,31 +59,15 @@ if [ "$TMT_REBOOT_COUNT" -eq 0 ]; then
4059 ls -al " $BOOTC_TEMPDIR "
4160
4261 CONTAINERFILE=${BOOTC_TEMPDIR} /Containerfile
43- tee " $CONTAINERFILE " > /dev/null << REALEOF
44- FROM $TIER1_IMAGE_URL as build
45-
46- COPY contrib /contrib
47- COPY hack/build.sh /build.sh
48- RUN /build.sh && rm -v /build.sh
49- COPY . /build
50- WORKDIR /build
51-
52- RUN mkdir -p /build/target/dev-rootfs
53- RUN --mount=type=cache,target=/build/target --mount=type=cache,target=/var/roothome make test-bin-archive && mkdir -p /out && cp target/bootc.tar.zst /out
54-
55- FROM $TIER1_IMAGE_URL
5662
63+ COMMON_CONTAINERFILE=" ${BOOTC_TEMPDIR} /common_containerfile"
64+ tee " $COMMON_CONTAINERFILE " > /dev/null << COMMONEOF
5765COPY hack/provision-derived.sh /tmp
5866RUN /tmp/provision-derived.sh && rm -f /tmp/*.sh
5967# Also copy in some default install configs we use for testing
6068COPY hack/install-test-configs/* /usr/lib/bootc/install/
6169# And some test kargs
6270COPY hack/test-kargs /usr/lib/bootc/kargs.d/
63- # Inject our built code
64- COPY --from=build /out/bootc.tar.zst /tmp
65- RUN tar -C / --zstd -xvf /tmp/bootc.tar.zst && rm -vrf /tmp/*
66- # Also copy over arbitrary bits from the target root
67- COPY --from=build /build/target/dev-rootfs/ /
6871
6972RUN <<EORUN
7073set -xeuo pipefail
@@ -91,7 +94,51 @@ COPY bin /usr/local/bin
9194
9295# In Testing Farm, all ssh things should be reserved for ssh command run after reboot
9396COPY .ssh /var/roothome/.ssh
97+ COMMONEOF
98+
99+ if [[ -v KOJI_TASK_ID ]]; then
100+ FEDORA_CI_CONTAINERFILE=" ${BOOTC_TEMPDIR} /fedora_ci_containerfile"
101+ tee " $FEDORA_CI_CONTAINERFILE " > /dev/null << FEDORACIEOF
102+ FROM $TIER1_IMAGE_URL
103+
104+ COPY $BOOTC_RPM_FILE_NAME /$BOOTC_RPM_FILE_NAME
105+ COPY $SYSTEM_REINSTALL_BOOTC_RPM_FILE_NAME /$SYSTEM_REINSTALL_BOOTC_RPM_FILE_NAME
106+ RUN dnf remove -y bootc system-reinstall-bootc && dnf install -y /$BOOTC_RPM_FILE_NAME /$SYSTEM_REINSTALL_BOOTC_RPM_FILE_NAME rpm-ostree
107+ FEDORACIEOF
108+ cat > " $CONTAINERFILE " << REALEOF
109+ $( cat " $FEDORA_CI_CONTAINERFILE " )
110+ $( cat " $COMMON_CONTAINERFILE " )
111+
94112REALEOF
113+ else
114+ BOOTC_CI_CONTAINERFILE=" ${BOOTC_TEMPDIR} /bootc_ci_containerfile"
115+ tee " $BOOTC_CI_CONTAINERFILE " > /dev/null << BOOTCCIEOF
116+ FROM $TIER1_IMAGE_URL as build
117+
118+ COPY contrib /contrib
119+ COPY hack/build.sh /build.sh
120+ RUN /build.sh && rm -v /build.sh
121+ COPY . /build
122+ WORKDIR /build
123+
124+ RUN mkdir -p /build/target/dev-rootfs
125+ RUN --mount=type=cache,target=/build/target --mount=type=cache,target=/var/roothome make test-bin-archive && mkdir -p /out && cp target/bootc.tar.zst /out
126+
127+ FROM $TIER1_IMAGE_URL
128+
129+ # Inject our built code
130+ COPY --from=build /out/bootc.tar.zst /tmp
131+ RUN tar -C / --zstd -xvf /tmp/bootc.tar.zst && rm -vrf /tmp/*
132+ # Also copy over arbitrary bits from the target root
133+ COPY --from=build /build/target/dev-rootfs/ /
134+
135+ BOOTCCIEOF
136+ cat > " $CONTAINERFILE " << REALEOF
137+ $( cat " $BOOTC_CI_CONTAINERFILE " )
138+ $( cat " $COMMON_CONTAINERFILE " )
139+ REALEOF
140+ fi
141+
95142
96143 if [[ -d " /var/ARTIFACTS" ]]; then
97144 # In Testing Farm, TMT work dir /var/ARTIFACTS should be reserved
0 commit comments