@@ -19,7 +19,26 @@ case "$ID" in
19
19
esac
20
20
21
21
if [ " $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
+
22
39
# 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
23
42
cp -a ../../. " $BOOTC_TEMPDIR "
24
43
25
44
# TMT needs this key
@@ -40,31 +59,15 @@ if [ "$TMT_REBOOT_COUNT" -eq 0 ]; then
40
59
ls -al " $BOOTC_TEMPDIR "
41
60
42
61
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
56
62
63
+ COMMON_CONTAINERFILE=" ${BOOTC_TEMPDIR} /common_containerfile"
64
+ tee " $COMMON_CONTAINERFILE " > /dev/null << COMMONEOF
57
65
COPY hack/provision-derived.sh /tmp
58
66
RUN /tmp/provision-derived.sh && rm -f /tmp/*.sh
59
67
# Also copy in some default install configs we use for testing
60
68
COPY hack/install-test-configs/* /usr/lib/bootc/install/
61
69
# And some test kargs
62
70
COPY 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/ /
68
71
69
72
RUN <<EORUN
70
73
set -xeuo pipefail
@@ -91,7 +94,51 @@ COPY bin /usr/local/bin
91
94
92
95
# In Testing Farm, all ssh things should be reserved for ssh command run after reboot
93
96
COPY .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
+
94
112
REALEOF
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
+
95
142
96
143
if [[ -d " /var/ARTIFACTS" ]]; then
97
144
# In Testing Farm, TMT work dir /var/ARTIFACTS should be reserved
0 commit comments