buildserver: run provision scripts in Dockerfile

fdroidserver#119
This commit is contained in:
Hans-Christoph Steiner 2022-01-10 15:17:07 +01:00
parent 839f5b109a
commit 7535d75b40
No known key found for this signature in database
GPG key ID: 3E177817BA1B9BFA

View file

@ -13,15 +13,40 @@ RUN echo Etc/UTC > /etc/timezone \
'quiet "1";' \
>> /etc/apt/apt.conf.d/99gitlab
# provision-apt-proxy was deliberately omitted, its not relevant in Docker
COPY provision-android-ndk \
provision-android-sdk \
provision-apt-get-install \
provision-buildserverid \
provision-gradle \
setup-env-vars \
/opt/buildserver/
ARG GIT_REV_PARSE_HEAD=unspecified
LABEL org.opencontainers.image.revision=$GIT_REV_PARSE_HEAD
# setup 'vagrant' user for compatibility
RUN useradd --create-home -s /bin/bash vagrant && echo -n 'vagrant:vagrant' | chpasswd
# the provision scripts must be run in the same order as in Vagrantfile
RUN printf "path-exclude=/usr/share/locale/*\npath-exclude=/usr/share/man/*\npath-exclude=/usr/share/doc/*\npath-include=/usr/share/doc/*/copyright\n" >/etc/dpkg/dpkg.cfg.d/01_nodoc \
&& mkdir -p /usr/share/man/man1 \
&& apt-get update \
&& apt-get upgrade \
&& apt-get dist-upgrade \
&& apt-get install sudo \
&& bash /opt/buildserver/setup-env-vars /opt/android-sdk \
&& . /etc/profile.d/bsenv.sh \
&& bash /opt/buildserver/provision-apt-get-install https://deb.debian.org/debian \
&& tools=tools_r25.2.5-linux.zip \
&& mkdir -p /vagrant/cache \
&& curl https://dl.google.com/android/repository/$tools > /vagrant/cache/$tools \
&& echo "577516819c8b5fae680f049d39014ff1ba4af870b687cab10595783e6f22d33e /vagrant/cache/$tools" | sha256sum -c \
&& bash /opt/buildserver/provision-android-sdk \
&& bash /opt/buildserver/provision-android-ndk /opt/android-sdk/ndk \
&& bash /opt/buildserver/provision-gradle \
&& bash /opt/buildserver/provision-buildserverid $GIT_REV_PARSE_HEAD \
&& rm -rf /vagrant/cache \
&& apt-get autoremove --purge \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*