diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e316b7859855e09aef50c2e77fda351d63e87157..71895e22d568c6d2bceb9ae5490dcb5225df9889 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,14 +30,15 @@ test_success: script: # Consider adding the cap and the device directly to the CI config # https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runners-docker-section - - docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./reproduce.py release-1.2.10 + # TODO replace alpha-1.4.3 with release version + - docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./reproduce.py alpha-1.4.3 except: - triggers test_failure: stage: test script: - - if docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./reproduce.py release-1.0.13; then exit 1; else exit 0; fi + - if docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./reproduce.py release-1.2.10; then exit 1; else exit 0; fi except: - triggers diff --git a/Dockerfile b/Dockerfile index c36c0ce75562e4ae8e0c78c8c6a4da6b09fe7e18..dc55722edb97869e014ff73bb0a6c19051f2c9a9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:buster +FROM debian:bullseye-slim ENV LANG=C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive diff --git a/install-dependencies-android.sh b/install-dependencies-android.sh index b4b6abda9b9097840cc32b0d28b7d9b5e4320260..6e7db56ca075a5e53551c2b9e4f1d4021ae22891 100755 --- a/install-dependencies-android.sh +++ b/install-dependencies-android.sh @@ -3,11 +3,11 @@ set -e set -x # Install Android SDK Manager -wget --no-verbose -O tools.zip https://dl.google.com/android/repository/tools_r25.2.4-linux.zip -unzip tools.zip -rm tools.zip -mkdir ${ANDROID_HOME} -mv tools ${ANDROID_HOME}/ +wget --no-verbose -O cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip +unzip cmdline-tools.zip +rm cmdline-tools.zip +mkdir -p ${ANDROID_HOME}/cmdline-tools +mv cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest # Accept all those nasty EULAs mkdir -p ${ANDROID_HOME}/licenses/ @@ -18,4 +18,4 @@ printf "\n79120722343a6f314e0719f863036c702b0e6b2a\n84831b9409646a918e30573bab4c # Install platform-tools and ndk-bundle (for stripping libraries) mkdir /root/.android touch /root/.android/repositories.cfg -echo y | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools" "ndk-bundle" +echo y | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "ndk-bundle" diff --git a/install-dependencies.sh b/install-dependencies.sh index 5df7e78f57793e51b036dee3eb1ffe1f208d4d01..f0d96e568332cb156ac56a59e60a3e2c4b678502 100755 --- a/install-dependencies.sh +++ b/install-dependencies.sh @@ -4,8 +4,9 @@ set -x apt-get install -y --no-install-recommends \ git \ - openjdk-8-jdk-headless \ + default-jdk-headless \ fuse \ disorderfs \ unzip \ + curl \ wget diff --git a/install.sh b/install.sh index dad8ff10db02fb7e4e522cbf16315e81af86c710..5097b15d68643adbad8da6f6ead3f6755139d98e 100755 --- a/install.sh +++ b/install.sh @@ -3,26 +3,26 @@ set -e set -x # use snapshot repos for deterministic package versions -DATE="20210312T000000Z" +DATE="20211214T000000Z" cat << EOF > /etc/apt/sources.list -deb http://snapshot.debian.org/archive/debian/${DATE}/ buster main -deb http://snapshot.debian.org/archive/debian-security/${DATE}/ buster/updates main +deb http://snapshot.debian.org/archive/debian/${DATE}/ bullseye main +deb http://snapshot.debian.org/archive/debian-security/${DATE}/ bullseye-security main EOF # ignore expired package releases (they expire too fast) echo 'Acquire::Check-Valid-Until "0";' >> /etc/apt/apt.conf.d/10-ignore-expiry -# allow OpenJDK 8 to be installed from the oldstable repo -echo "deb http://snapshot.debian.org/archive/debian/${DATE}/ stretch main" >> /etc/apt/sources.list +# do not install documentation to keep image small +echo "path-exclude=/usr/share/locale/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc +echo "path-exclude=/usr/share/man/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc +echo "path-exclude=/usr/share/doc/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc # update package sources apt-get update apt-get -y upgrade -# do not install documentation to keep image small -echo "path-exclude=/usr/share/locale/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc -echo "path-exclude=/usr/share/man/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc -echo "path-exclude=/usr/share/doc/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc +# install of default-jdk-headless fails otherwise on *-slim image +mkdir -p /usr/share/man/man1 # install dependencies ./install-dependencies.sh