2021-09-24 14:25:51 +04:00
ARG DISTR
2021-06-08 19:04:16 +04:00
# Container image that runs your code
2021-09-24 14:25:51 +04:00
FROM $DISTR
ARG USER_ID
ARG GROUP_ID
2021-06-08 19:04:16 +04:00
RUN apt-get update \
2021-07-30 15:44:16 +04:00
&& apt-get install -y git \
gear \
hasher \
hasher-priv \
hasher-rich-chroot \
hasher-rich-chroot-user-utils \
rpm-utils \
rpm-build \
rpm-build-licenses \
rpm-macros-cmake \
rpm-macros-make \
rpm-macros-generic-compat \
apt-repo \
apt-repo-tools \
2022-11-03 12:12:41 +04:00
cmake \
rpm-macros-cmake \
cmake-modules \
gcc-c++ \
2023-08-21 15:59:25 +04:00
clang15.0 \
2022-11-03 12:12:41 +04:00
qt5-base-devel \
qt5-declarative-devel \
qt5-tools-devel \
libsmbclient-devel \
libsmbclient \
qt5-base-common \
doxygen \
2022-11-10 12:39:01 +04:00
samba-devel \
catch2-devel \
libldap-devel \
libsasl2-devel \
libuuid-devel \
glib2-devel \
libpcre-devel \
libkrb5-devel \
2022-11-03 12:12:41 +04:00
libxerces-c-devel \
2023-04-11 14:15:20 +04:00
libgtest-devel \
2022-11-03 12:12:41 +04:00
xsd \
boost-devel-headers \
desktop-file-utils \
ImageMagick-tools \
libqt-mvvm-devel \
xorg-xvfb \
xvfb-run \
2021-07-30 15:44:16 +04:00
sudo \
2023-06-09 12:39:15 +04:00
ctest \
2021-07-30 15:44:16 +04:00
&& export CURRENT_PWD = ` pwd ` \
2023-08-25 14:52:20 +04:00
&& if [ $( getent group $GROUP_ID ) ] ; then \
echo " group $GROUP_ID exists. " ; \
else \
groupadd --gid $GROUP_ID builder2; \
2023-08-25 14:55:33 +04:00
fi \
2021-09-24 14:25:51 +04:00
&& useradd --uid $USER_ID --gid $GROUP_ID -ms /bin/bash builder2 \
2021-07-30 15:44:16 +04:00
&& groupadd sudo \
&& usermod -aG rpm builder2 \
&& usermod -aG sudo root \
&& usermod -aG sudo builder2 \
&& echo "root ALL=(ALL) NOPASSWD:ALL" | tee -a /etc/sudoers \
&& echo "builder2 ALL=(ALL) NOPASSWD:ALL" | tee -a /etc/sudoers \
2023-06-28 17:45:16 +04:00
&& hasher-useradd builder2 || : \
2021-07-30 15:44:16 +04:00
&& mkdir /app \
2023-08-25 14:55:33 +04:00
&& chown $USER_ID :$GROUP_ID /app
2021-06-08 19:04:16 +04:00
# Copies your code file from your action repository to the filesystem path `/` of the container
COPY script/build.sh /build.sh
2023-10-04 14:37:40 +04:00
RUN chmod a = rwx,u+t /tmp
2022-11-03 12:12:41 +04:00
ARG ARCH
2021-09-24 19:59:10 +04:00
RUN if [ " $ARCH " = "i386" ] ; then \
2023-06-09 12:39:15 +04:00
sed -i 's/gear-rpm -ba/gear-rpm -ba --target=i386/g' build.sh; \
2021-09-24 19:59:10 +04:00
fi
2021-07-30 15:44:16 +04:00
USER builder2
WORKDIR /home/builder2
2021-06-08 19:04:16 +04:00
# Code file to execute when the docker container starts up (`build.sh`)
ENTRYPOINT [ "/build.sh" ]