diff --git a/.github/workflows/release-image.yml b/.github/workflows/release-image.yml index 57436f1..5f7628b 100644 --- a/.github/workflows/release-image.yml +++ b/.github/workflows/release-image.yml @@ -75,25 +75,34 @@ jobs: packages: write strategy: matrix: - version: [ '30', '31', '32', '33' ] - variant: [ '', '-emulator', '-ndk', '-stf-client' ] + version: [ '32', '33' ] + variant: [ '', '-emulator', '-ndk', '-stf-client', '-jdk17', '-jdk11' ] needs: [checks-hadolint, checks-shfmt, checks-shellcheck, checks-update] steps: - name: Checkout repository uses: actions/checkout@v3 + - name: Check Exists + id: check-dir + run: | + if [ ! -d ${{ matrix.version }}${{ matrix.variant }} ]; then + echo "Directory ${{ matrix.version }}${{ matrix.variant }} does not exist" + echo "skipdir=true" >> $GITHUB_OUTPUT + fi + - name: Set up Docker Buildx + if: steps.check-dir.outputs.skipdir != 'true' uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub - if: github.ref == 'refs/heads/master' + if: steps.check-dir.outputs.skipdir != 'true' && github.ref == 'refs/heads/master' uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: Login to GAR - if: github.ref == 'refs/heads/master' + if: steps.check-dir.outputs.skipdir != 'true' && github.ref == 'refs/heads/master' uses: docker/login-action@v2 with: registry: europe-west1-docker.pkg.dev @@ -102,6 +111,7 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta + if: steps.check-dir.outputs.skipdir != 'true' uses: docker/metadata-action@v4 with: images: | @@ -114,6 +124,7 @@ jobs: - name: Cache Mode id: cache-mode + if: steps.check-dir.outputs.skipdir != 'true' run: | if [ "$VARIANT" == '-emulator' ]; then echo "::set-output name=mode::min" @@ -124,6 +135,7 @@ jobs: VARIANT: ${{ matrix.variant }} - name: Build and push Docker image + if: steps.check-dir.outputs.skipdir != 'true' uses: docker/build-push-action@v4 with: context: ${{ matrix.version }}${{ matrix.variant }} diff --git a/30-emulator/Dockerfile b/30-emulator/Dockerfile deleted file mode 100644 index cf0a7f6..0000000 --- a/30-emulator/Dockerfile +++ /dev/null @@ -1,119 +0,0 @@ -FROM ubuntu:focal -SHELL ["/bin/bash", "-o", "pipefail", "-c"] - -# hadolint ignore=DL3008 -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - expect \ - locales \ - nano \ - openjdk-11-jdk \ - unzip \ - curl \ - xz-utils \ - git \ - && rm -rf /var/lib/apt/lists/* - -# Seems somethings build better with utf8 locale specified -# http://jaredmarkell.com/docker-and-locales/ -# https://github.com/square/moshi/issues/804#issuecomment-466926878 -RUN locale-gen en_US.UTF-8 -ENV LANG=en_US.UTF-8 -ENV LANGUAGE=en_US:en -ENV LC_ALL=en_US.UTF-8 - -#### -# hadolint ignore=DL3008 -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - apt-transport-https \ - gnupg \ - lsb-release \ - # For nodejs we use nodesource, its nice and easy and gets us the correct version - # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions - && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ - && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ - && apt-get update \ - && apt-get install -y --no-install-recommends \ - nodejs \ - && rm -rf /var/lib/apt/lists/* - -# hadolint ignore=DL3016 -RUN npm -g install xcode-build-tools yarn -#### - -# Install the SDK -# https://developer.android.com/studio#downloads -ENV ANDROID_CMDLINE_TOOLS=https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -# hadolint ignore=DL3003 -RUN ( \ - cd /opt \ - && mkdir android-sdk-linux \ - && curl -sSL -o cmdline-tools.zip "$ANDROID_CMDLINE_TOOLS" \ - && unzip cmdline-tools.zip -d android-sdk-linux/cmdline-tools \ - && rm -f cmdline-tools.zip \ - && chown -R root:root android-sdk-linux \ - ) - -ENV ANDROID_SDK_ROOT=/opt/android-sdk-linux -ENV ANDROID_HOME=$ANDROID_SDK_ROOT -ENV PATH=$ANDROID_HOME/cmdline-tools/cmdline-tools/bin:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/tools/bin:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH - -# Install custom tools -COPY tools/license_accepter /opt/tools/ -COPY tools/adb-all /opt/tools -ENV PATH=/opt/tools:$PATH -RUN license_accepter - -# Install Android platform and things -ENV ANDROID_PLATFORM_VERSION=30 -ENV ANDROID_BUILD_TOOLS_VERSION=30.0.3 -ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2" -ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" -ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" -RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES - - -#### -# hadolint ignore=DL3008 -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - file \ - qt5-default \ - libpulse0 \ - && rm -rf /var/lib/apt/lists/* - -ENV ANDROID_EMULATOR_PACKAGE="system-images;android-$ANDROID_PLATFORM_VERSION;google_apis_playstore;x86_64" -RUN sdkmanager --verbose "emulator" $ANDROID_EMULATOR_PACKAGE - -# Fix for emulator detect 64bit -ENV SHELL=/bin/bash -# https://www.bram.us/2017/05/12/launching-the-android-emulator-from-the-command-line/ -ENV PATH=$ANDROID_SDK_ROOT/emulator:$PATH - -COPY tools-emulator/android-start-emulator /opt/tools/ -COPY tools-emulator/android-wait-for-emulator /opt/tools/ -RUN adb keygen ~/.android/adbkey -#### - - -#### -RUN apt-get update \ -&& apt-get -y --no-install-recommends install imagemagick=8:6.9.10.23+dfsg-2.1ubuntu11 \ -&& rm -rf /var/lib/apt/lists/* \ -&& curl -k -0L https://github.com/postmodern/ruby-install/archive/master.tar.gz -o ruby-install.tar.gz \ -&& tar -xzvf ruby-install.tar.gz -WORKDIR /ruby-install-master -RUN apt-get update && apt-get -y --no-install-recommends install make=4.2.1-1.2 \ -&& rm -rf /var/lib/apt/lists/* \ -&& make install -WORKDIR / -RUN apt-get update \ -&& rm -rf ruby-install-master && rm -rf ruby-install.tar.gz \ -&& ruby-install --latest \ -&& ruby-install -i /usr/local/ ruby 2.6.8 -- --disable-install-doc \ -&& gem update --system --no-document \ -&& gem install bundler:1.17.3 --force -#### diff --git a/30-stf-client/Dockerfile b/30-stf-client/Dockerfile deleted file mode 100644 index 8efd86b..0000000 --- a/30-stf-client/Dockerfile +++ /dev/null @@ -1,117 +0,0 @@ -FROM ubuntu:focal -SHELL ["/bin/bash", "-o", "pipefail", "-c"] - -# hadolint ignore=DL3008 -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - expect \ - locales \ - nano \ - openjdk-11-jdk \ - unzip \ - curl \ - xz-utils \ - git \ - && rm -rf /var/lib/apt/lists/* - -# Seems somethings build better with utf8 locale specified -# http://jaredmarkell.com/docker-and-locales/ -# https://github.com/square/moshi/issues/804#issuecomment-466926878 -RUN locale-gen en_US.UTF-8 -ENV LANG=en_US.UTF-8 -ENV LANGUAGE=en_US:en -ENV LC_ALL=en_US.UTF-8 - -#### -# hadolint ignore=DL3008 -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - apt-transport-https \ - gnupg \ - lsb-release \ - # For nodejs we use nodesource, its nice and easy and gets us the correct version - # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions - && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ - && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ - && apt-get update \ - && apt-get install -y --no-install-recommends \ - nodejs \ - && rm -rf /var/lib/apt/lists/* - -# hadolint ignore=DL3016 -RUN npm -g install xcode-build-tools yarn -#### - -# Install the SDK -# https://developer.android.com/studio#downloads -ENV ANDROID_CMDLINE_TOOLS=https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -# hadolint ignore=DL3003 -RUN ( \ - cd /opt \ - && mkdir android-sdk-linux \ - && curl -sSL -o cmdline-tools.zip "$ANDROID_CMDLINE_TOOLS" \ - && unzip cmdline-tools.zip -d android-sdk-linux/cmdline-tools \ - && rm -f cmdline-tools.zip \ - && chown -R root:root android-sdk-linux \ - ) - -ENV ANDROID_SDK_ROOT=/opt/android-sdk-linux -ENV ANDROID_HOME=$ANDROID_SDK_ROOT -ENV PATH=$ANDROID_HOME/cmdline-tools/cmdline-tools/bin:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/tools/bin:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH - -# Install custom tools -COPY tools/license_accepter /opt/tools/ -COPY tools/adb-all /opt/tools -ENV PATH=/opt/tools:$PATH -RUN license_accepter - -# Install Android platform and things -ENV ANDROID_PLATFORM_VERSION=30 -ENV ANDROID_BUILD_TOOLS_VERSION=30.0.3 -ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2" -ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" -ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" -RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES - -#### -# hadolint ignore=DL3008,DL3028,SC2086 -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - ruby \ - && savedAptMark="$(apt-mark showmanual)" \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - # stf-client - build-essential \ - gem \ - # Without rake fails to install stf-client - && gem install rake stf-client --no-doc \ - && apt-mark auto '.*' > /dev/null \ - && apt-mark manual $savedAptMark > /dev/null \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - && rm -rf /var/lib/apt/lists/* \ - -RUN adb keygen ~/.android/adbkey -#### - - - -#### -RUN apt-get update \ -&& apt-get -y --no-install-recommends install imagemagick=8:6.9.10.23+dfsg-2.1ubuntu11 \ -&& rm -rf /var/lib/apt/lists/* \ -&& curl -k -0L https://github.com/postmodern/ruby-install/archive/master.tar.gz -o ruby-install.tar.gz \ -&& tar -xzvf ruby-install.tar.gz -WORKDIR /ruby-install-master -RUN apt-get update && apt-get -y --no-install-recommends install make=4.2.1-1.2 \ -&& rm -rf /var/lib/apt/lists/* \ -&& make install -WORKDIR / -RUN apt-get update \ -&& rm -rf ruby-install-master && rm -rf ruby-install.tar.gz \ -&& ruby-install --latest \ -&& ruby-install -i /usr/local/ ruby 2.6.8 -- --disable-install-doc \ -&& gem update --system --no-document \ -&& gem install bundler:1.17.3 --force -#### diff --git a/31-emulator/tools-emulator/android-start-emulator b/31-emulator/tools-emulator/android-start-emulator deleted file mode 100755 index 998d92a..0000000 --- a/31-emulator/tools-emulator/android-start-emulator +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -# shellcheck disable=SC2086 -avdmanager create avd --package "$ANDROID_EMULATOR_PACKAGE" --name "${AVD_NAME:-test}" --abi "google_apis_playstore/x86_64" --device "${AVD_DEVICE:-pixel}" --force ${AVD_ARGS:-} -# shellcheck disable=SC2086 -emulator -avd "${AVD_NAME:-test}" -no-audio -no-boot-anim -no-window -accel on -gpu off ${EMULATOR_ARGS:-} & -android-wait-for-emulator -adb shell input keyevent 82 diff --git a/31-emulator/tools-emulator/android-wait-for-emulator b/31-emulator/tools-emulator/android-wait-for-emulator deleted file mode 100755 index 2bc2fb5..0000000 --- a/31-emulator/tools-emulator/android-wait-for-emulator +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -set -e -# Originally written by Ralf Kistner , but placed in the public domain - -sleep_time=5 -timeout_in_sec=60 - -fail_counter=0 -until [[ "$(adb -e shell getprop init.svc.bootanim)" =~ "stopped" ]]; do - ((fail_counter += sleep_time)) - echo "Waiting for emulator to start (bootanim)" - if [[ $fail_counter -gt timeout_in_sec ]]; then - echo "Timeout ($timeout_in_sec seconds) reached; failed to start emulator" - exit 1 - fi - sleep $sleep_time -done - -fail_counter=0 -until [[ "$(adb -e shell getprop sys.boot_completed)" == "1" ]]; do - ((fail_counter += sleep_time)) - echo "Waiting for emulator to start (boot_completed)" - if [[ $fail_counter -gt timeout_in_sec ]]; then - echo "Timeout ($timeout_in_sec seconds) reached; failed to start emulator" - exit 1 - fi - sleep $sleep_time -done - -echo "Emulator is ready" diff --git a/31/tools/adb-all b/31/tools/adb-all deleted file mode 100755 index 04992da..0000000 --- a/31/tools/adb-all +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# Script adb-all -# Taken from https://stackoverflow.com/a/8672540/859027 -# Usage -# You can run any command adb provide on all your current devices -# ./adb-all is the equivalent of ./adb -s -# -# Examples -# ./adb-all version -# ./adb-all install apidemo.apk -# ./adb-all uninstall com.example.android.apis - -adb devices | while read -r line; do - if [ ! "$line" = "" ] && [ "$(echo "$line" | awk '{print $2}')" = "device" ]; then - device=$(echo "$line" | awk '{print $1}') - echo "$device $* ..." - adb -s "$device" "$@" - fi -done diff --git a/31/tools/license_accepter b/31/tools/license_accepter deleted file mode 100755 index 388d973..0000000 --- a/31/tools/license_accepter +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -check_android_sdk_root() { - if [ "$#" -lt 1 ]; then - if [ -z "${ANDROID_SDK_ROOT}" ]; then - echo "Please either set ANDROID_SDK_ROOT environment variable, or pass ANDROID_SDK_ROOT directory as a parameter" - exit 1 - fi - else - ANDROID_SDK_ROOT=$1 - fi - echo "ANDROID_SDK_ROOT is at $ANDROID_SDK_ROOT" -} - -accept_all_android_licenses() { - ANDROID_LICENSES="$ANDROID_SDK_ROOT/licenses" - if [ ! -d "$ANDROID_LICENSES" ]; then - echo "Android licenses directory doesn't exist, creating one..." - mkdir -p "$ANDROID_LICENSES" - fi - accept_license_of android-sdk-license 8933bad161af4178b1185d1a37fbf41ea5269c55 - accept_license_of android-sdk-license d56f5187479451eabf01fb78af6dfcb131a6481e - accept_license_of android-sdk-license 24333f8a63b6825ea9c5514f83c2829b004d1fee - accept_license_of android-sdk-preview-license 84831b9409646a918e30573bab4c9c91346d8abd - accept_license_of intel-android-extra-license d975f751698a77b662f1254ddbeed3901e976f5a - accept_license_of android-sdk-arm-dbt-license 859f317696f67ef3d7f30a50a5560e7834b43903 -} - -accept_license_of() { - local license=$1 - local content=$2 - local file=$ANDROID_LICENSES/$license - if [ -f "$file" ]; then - if grep -q "^$content$" "$file"; then - echo "$license: $content has been accepted already" - else - echo "Accepting $license: $content ..." - echo -e "$content" >>"$file" - fi - else - echo "Accepting $license: $content ..." - echo -e "$content" >"$file" - fi -} - -check_android_sdk_root "$@" -accept_all_android_licenses diff --git a/30/Dockerfile b/32-jdk17/Dockerfile similarity index 92% rename from 30/Dockerfile rename to 32-jdk17/Dockerfile index 069625e..fecb2b8 100644 --- a/30/Dockerfile +++ b/32-jdk17/Dockerfile @@ -7,7 +7,7 @@ RUN apt-get update \ expect \ locales \ nano \ - openjdk-11-jdk \ + openjdk-17-jdk \ unzip \ curl \ xz-utils \ @@ -32,8 +32,8 @@ RUN apt-get update \ # For nodejs we use nodesource, its nice and easy and gets us the correct version # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ - && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ + && echo "deb https://deb.nodesource.com/node_18.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ + && echo "deb-src https://deb.nodesource.com/node_18.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ && apt-get update \ && apt-get install -y --no-install-recommends \ nodejs \ @@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH RUN license_accepter # Install Android platform and things -ENV ANDROID_PLATFORM_VERSION=30 -ENV ANDROID_BUILD_TOOLS_VERSION=30.0.3 +ENV ANDROID_PLATFORM_VERSION=32 +ENV ANDROID_BUILD_TOOLS_VERSION=32.0.0 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2" +ENV ANDROID_EXTRA_PACKAGES="build-tools;32.0.0" ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES diff --git a/30-emulator/tools/adb-all b/32-jdk17/tools/adb-all similarity index 100% rename from 30-emulator/tools/adb-all rename to 32-jdk17/tools/adb-all diff --git a/30-emulator/tools/license_accepter b/32-jdk17/tools/license_accepter similarity index 100% rename from 30-emulator/tools/license_accepter rename to 32-jdk17/tools/license_accepter diff --git a/33-emulator/Dockerfile b/33-emulator/Dockerfile index 69020c7..4bf5635 100644 --- a/33-emulator/Dockerfile +++ b/33-emulator/Dockerfile @@ -68,9 +68,9 @@ RUN license_accepter # Install Android platform and things ENV ANDROID_PLATFORM_VERSION=33 -ENV ANDROID_BUILD_TOOLS_VERSION=33.0.0 +ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2" +ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1" ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES diff --git a/30-ndk/Dockerfile b/33-jdk17/Dockerfile similarity index 86% rename from 30-ndk/Dockerfile rename to 33-jdk17/Dockerfile index 4fb2d52..131b87f 100644 --- a/30-ndk/Dockerfile +++ b/33-jdk17/Dockerfile @@ -7,7 +7,7 @@ RUN apt-get update \ expect \ locales \ nano \ - openjdk-11-jdk \ + openjdk-17-jdk \ unzip \ curl \ xz-utils \ @@ -32,8 +32,8 @@ RUN apt-get update \ # For nodejs we use nodesource, its nice and easy and gets us the correct version # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ - && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ + && echo "deb https://deb.nodesource.com/node_18.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ + && echo "deb-src https://deb.nodesource.com/node_18.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ && apt-get update \ && apt-get install -y --no-install-recommends \ nodejs \ @@ -67,22 +67,16 @@ ENV PATH=/opt/tools:$PATH RUN license_accepter # Install Android platform and things -ENV ANDROID_PLATFORM_VERSION=30 -ENV ANDROID_BUILD_TOOLS_VERSION=30.0.3 +ENV ANDROID_PLATFORM_VERSION=33 +ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2" +ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1" ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES -#### -ENV ANDROID_NDK_PACKAGES="ndk-bundle cmake;3.10.2.4988404 cmake;3.6.4111459 cmake;3.18.1" -ENV ANDROID_NDK_ROOT=$ANDROID_HOME/ndk-bundle -ENV ANDROID_NDK_HOME=$ANDROID_NDK_ROOT -RUN sdkmanager --verbose $ANDROID_NDK_PACKAGES -#### #### RUN apt-get update \ diff --git a/30-ndk/tools/adb-all b/33-jdk17/tools/adb-all similarity index 100% rename from 30-ndk/tools/adb-all rename to 33-jdk17/tools/adb-all diff --git a/30-ndk/tools/license_accepter b/33-jdk17/tools/license_accepter similarity index 100% rename from 30-ndk/tools/license_accepter rename to 33-jdk17/tools/license_accepter diff --git a/33-ndk/Dockerfile b/33-ndk/Dockerfile index 97de852..a943cd7 100644 --- a/33-ndk/Dockerfile +++ b/33-ndk/Dockerfile @@ -68,9 +68,9 @@ RUN license_accepter # Install Android platform and things ENV ANDROID_PLATFORM_VERSION=33 -ENV ANDROID_BUILD_TOOLS_VERSION=33.0.0 +ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2" +ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1" ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES diff --git a/33-stf-client/Dockerfile b/33-stf-client/Dockerfile index 0b2d13a..4ae5123 100644 --- a/33-stf-client/Dockerfile +++ b/33-stf-client/Dockerfile @@ -68,9 +68,9 @@ RUN license_accepter # Install Android platform and things ENV ANDROID_PLATFORM_VERSION=33 -ENV ANDROID_BUILD_TOOLS_VERSION=33.0.0 +ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2" +ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1" ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES diff --git a/33/Dockerfile b/33/Dockerfile index dd4b348..b2e89c5 100644 --- a/33/Dockerfile +++ b/33/Dockerfile @@ -68,9 +68,9 @@ RUN license_accepter # Install Android platform and things ENV ANDROID_PLATFORM_VERSION=33 -ENV ANDROID_BUILD_TOOLS_VERSION=33.0.0 +ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2" +ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1" ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES diff --git a/31-emulator/Dockerfile b/34-emulator/Dockerfile similarity index 94% rename from 31-emulator/Dockerfile rename to 34-emulator/Dockerfile index 60d05f3..176b02e 100644 --- a/31-emulator/Dockerfile +++ b/34-emulator/Dockerfile @@ -7,7 +7,7 @@ RUN apt-get update \ expect \ locales \ nano \ - openjdk-11-jdk \ + openjdk-17-jdk \ unzip \ curl \ xz-utils \ @@ -32,8 +32,8 @@ RUN apt-get update \ # For nodejs we use nodesource, its nice and easy and gets us the correct version # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ - && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ + && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ + && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ && apt-get update \ && apt-get install -y --no-install-recommends \ nodejs \ @@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH RUN license_accepter # Install Android platform and things -ENV ANDROID_PLATFORM_VERSION=31 -ENV ANDROID_BUILD_TOOLS_VERSION=31.0.0 +ENV ANDROID_PLATFORM_VERSION=34 +ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;31.0.0" +ENV ANDROID_EXTRA_PACKAGES= ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES diff --git a/30-emulator/tools-emulator/android-start-emulator b/34-emulator/tools-emulator/android-start-emulator similarity index 100% rename from 30-emulator/tools-emulator/android-start-emulator rename to 34-emulator/tools-emulator/android-start-emulator diff --git a/30-emulator/tools-emulator/android-wait-for-emulator b/34-emulator/tools-emulator/android-wait-for-emulator similarity index 100% rename from 30-emulator/tools-emulator/android-wait-for-emulator rename to 34-emulator/tools-emulator/android-wait-for-emulator diff --git a/30-stf-client/tools/adb-all b/34-emulator/tools/adb-all similarity index 100% rename from 30-stf-client/tools/adb-all rename to 34-emulator/tools/adb-all diff --git a/30-stf-client/tools/license_accepter b/34-emulator/tools/license_accepter similarity index 100% rename from 30-stf-client/tools/license_accepter rename to 34-emulator/tools/license_accepter diff --git a/31/Dockerfile b/34-jdk11/Dockerfile similarity index 93% rename from 31/Dockerfile rename to 34-jdk11/Dockerfile index 1898b6b..b6f1b65 100644 --- a/31/Dockerfile +++ b/34-jdk11/Dockerfile @@ -32,8 +32,8 @@ RUN apt-get update \ # For nodejs we use nodesource, its nice and easy and gets us the correct version # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ - && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ + && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ + && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ && apt-get update \ && apt-get install -y --no-install-recommends \ nodejs \ @@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH RUN license_accepter # Install Android platform and things -ENV ANDROID_PLATFORM_VERSION=31 -ENV ANDROID_BUILD_TOOLS_VERSION=31.0.0 +ENV ANDROID_PLATFORM_VERSION=34 +ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;31.0.0" +ENV ANDROID_EXTRA_PACKAGES= ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES diff --git a/30/tools/adb-all b/34-jdk11/tools/adb-all similarity index 100% rename from 30/tools/adb-all rename to 34-jdk11/tools/adb-all diff --git a/30/tools/license_accepter b/34-jdk11/tools/license_accepter similarity index 100% rename from 30/tools/license_accepter rename to 34-jdk11/tools/license_accepter diff --git a/31-ndk/Dockerfile b/34-ndk/Dockerfile similarity index 93% rename from 31-ndk/Dockerfile rename to 34-ndk/Dockerfile index 36944b3..7684a42 100644 --- a/31-ndk/Dockerfile +++ b/34-ndk/Dockerfile @@ -7,7 +7,7 @@ RUN apt-get update \ expect \ locales \ nano \ - openjdk-11-jdk \ + openjdk-17-jdk \ unzip \ curl \ xz-utils \ @@ -32,8 +32,8 @@ RUN apt-get update \ # For nodejs we use nodesource, its nice and easy and gets us the correct version # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ - && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ + && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ + && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ && apt-get update \ && apt-get install -y --no-install-recommends \ nodejs \ @@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH RUN license_accepter # Install Android platform and things -ENV ANDROID_PLATFORM_VERSION=31 -ENV ANDROID_BUILD_TOOLS_VERSION=31.0.0 +ENV ANDROID_PLATFORM_VERSION=34 +ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;31.0.0" +ENV ANDROID_EXTRA_PACKAGES= ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES diff --git a/31-emulator/tools/adb-all b/34-ndk/tools/adb-all similarity index 100% rename from 31-emulator/tools/adb-all rename to 34-ndk/tools/adb-all diff --git a/31-emulator/tools/license_accepter b/34-ndk/tools/license_accepter similarity index 100% rename from 31-emulator/tools/license_accepter rename to 34-ndk/tools/license_accepter diff --git a/31-stf-client/Dockerfile b/34-stf-client/Dockerfile similarity index 94% rename from 31-stf-client/Dockerfile rename to 34-stf-client/Dockerfile index fe345d0..91742d7 100644 --- a/31-stf-client/Dockerfile +++ b/34-stf-client/Dockerfile @@ -7,7 +7,7 @@ RUN apt-get update \ expect \ locales \ nano \ - openjdk-11-jdk \ + openjdk-17-jdk \ unzip \ curl \ xz-utils \ @@ -32,8 +32,8 @@ RUN apt-get update \ # For nodejs we use nodesource, its nice and easy and gets us the correct version # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ - && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ + && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ + && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ && apt-get update \ && apt-get install -y --no-install-recommends \ nodejs \ @@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH RUN license_accepter # Install Android platform and things -ENV ANDROID_PLATFORM_VERSION=31 -ENV ANDROID_BUILD_TOOLS_VERSION=31.0.0 +ENV ANDROID_PLATFORM_VERSION=34 +ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0 ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH -ENV ANDROID_EXTRA_PACKAGES="build-tools;31.0.0" +ENV ANDROID_EXTRA_PACKAGES= ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES diff --git a/31-ndk/tools/adb-all b/34-stf-client/tools/adb-all similarity index 100% rename from 31-ndk/tools/adb-all rename to 34-stf-client/tools/adb-all diff --git a/31-ndk/tools/license_accepter b/34-stf-client/tools/license_accepter similarity index 100% rename from 31-ndk/tools/license_accepter rename to 34-stf-client/tools/license_accepter diff --git a/34/Dockerfile b/34/Dockerfile new file mode 100644 index 0000000..961f4a6 --- /dev/null +++ b/34/Dockerfile @@ -0,0 +1,98 @@ +FROM ubuntu:focal +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# hadolint ignore=DL3008 +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + expect \ + locales \ + nano \ + openjdk-17-jdk \ + unzip \ + curl \ + xz-utils \ + git \ + && rm -rf /var/lib/apt/lists/* + +# Seems somethings build better with utf8 locale specified +# http://jaredmarkell.com/docker-and-locales/ +# https://github.com/square/moshi/issues/804#issuecomment-466926878 +RUN locale-gen en_US.UTF-8 +ENV LANG=en_US.UTF-8 +ENV LANGUAGE=en_US:en +ENV LC_ALL=en_US.UTF-8 + +#### +# hadolint ignore=DL3008 +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + apt-transport-https \ + gnupg \ + lsb-release \ + # For nodejs we use nodesource, its nice and easy and gets us the correct version + # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions + && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ + && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \ + && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + nodejs \ + && rm -rf /var/lib/apt/lists/* + +# hadolint ignore=DL3016 +RUN npm -g install xcode-build-tools yarn +#### + +# Install the SDK +# https://developer.android.com/studio#downloads +ENV ANDROID_CMDLINE_TOOLS=https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip +# hadolint ignore=DL3003 +RUN ( \ + cd /opt \ + && mkdir android-sdk-linux \ + && curl -sSL -o cmdline-tools.zip "$ANDROID_CMDLINE_TOOLS" \ + && unzip cmdline-tools.zip -d android-sdk-linux/cmdline-tools \ + && rm -f cmdline-tools.zip \ + && chown -R root:root android-sdk-linux \ + ) + +ENV ANDROID_SDK_ROOT=/opt/android-sdk-linux +ENV ANDROID_HOME=$ANDROID_SDK_ROOT +ENV PATH=$ANDROID_HOME/cmdline-tools/cmdline-tools/bin:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/tools/bin:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH + +# Install custom tools +COPY tools/license_accepter /opt/tools/ +COPY tools/adb-all /opt/tools +ENV PATH=/opt/tools:$PATH +RUN license_accepter + +# Install Android platform and things +ENV ANDROID_PLATFORM_VERSION=34 +ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0 +ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH +ENV ANDROID_EXTRA_PACKAGES= +ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository" +ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0" +RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES + + + + +#### +RUN apt-get update \ +&& apt-get -y --no-install-recommends install imagemagick=8:6.9.10.23+dfsg-2.1ubuntu11 \ +&& rm -rf /var/lib/apt/lists/* \ +&& curl -k -0L https://github.com/postmodern/ruby-install/archive/master.tar.gz -o ruby-install.tar.gz \ +&& tar -xzvf ruby-install.tar.gz +WORKDIR /ruby-install-master +RUN apt-get update && apt-get -y --no-install-recommends install make=4.2.1-1.2 \ +&& rm -rf /var/lib/apt/lists/* \ +&& make install +WORKDIR / +RUN apt-get update \ +&& rm -rf ruby-install-master && rm -rf ruby-install.tar.gz \ +&& ruby-install --latest \ +&& ruby-install -i /usr/local/ ruby 2.6.8 -- --disable-install-doc \ +&& gem update --system --no-document \ +&& gem install bundler:1.17.3 --force +#### diff --git a/31-stf-client/tools/adb-all b/34/tools/adb-all similarity index 100% rename from 31-stf-client/tools/adb-all rename to 34/tools/adb-all diff --git a/31-stf-client/tools/license_accepter b/34/tools/license_accepter similarity index 100% rename from 31-stf-client/tools/license_accepter rename to 34/tools/license_accepter diff --git a/README.md b/README.md index da60844..752c3c9 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,19 @@ An image that lets us build android apps with docker using gitlab-ci ## Tags available +* `33` +* `33-emulator` +* `33-ndk` +* `33-stf-client` +* `33-jdk17` +* `32` +* `32-emulator` +* `32-ndk` +* `32-stf-client` +* `32-jdk17` + +## Unmaintained tags + * `31` * `31-emulator` * `31-ndk` @@ -12,9 +25,6 @@ An image that lets us build android apps with docker using gitlab-ci * `30-emulator` * `30-ndk` * `30-stf-client` - -## Unmaintained tags - * `30-ruby-bundler` (ruby included in all builds now) * `31-ruby-bundler` * `29` diff --git a/update.sh b/update.sh index 5d86068..2d37a3b 100755 --- a/update.sh +++ b/update.sh @@ -1,32 +1,33 @@ #!/usr/bin/env bash set -e -variants=('30' '31' '32' '33') +variants=('32' '33' '34') ## Disabled creating extra node variants, rather just having a default for each SDK #node_variants=('14' '18') declare -A default_node_variants=( - ['30']='14' - ['31']='14' ['32']='18' ['33']='18' + ['34']='20' ) -jdk_variants=('11') -default_jdk_variant='11' +jdk_variants=('11' '17') +declare -A default_jdk_variants=( + ['32']='11' + ['33']='11' + ['34']='17' +) declare -A build_tools=( - ['30']='30.0.3' - ['31']='31.0.0' ['32']='32.0.0' - ['33']='33.0.0' + ['33']='33.0.2' + ['34']='34.0.0' ) declare -A extra_packages=( - ['30']='"build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2"' - ['31']='"build-tools;31.0.0"' ['32']='"build-tools;32.0.0"' - ['33']='"build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2"' + ['33']='"build-tools;33.0.0 build-tools;33.0.1"' + ['34']='' ) for variant in "${variants[@]}"; do @@ -35,6 +36,7 @@ for variant in "${variants[@]}"; do for type in 'default' 'emulator' 'ndk' 'stf-client'; do template="Dockerfile.template" default_node_variant="${default_node_variants[$variant]}" + default_jdk_variant="${default_jdk_variants[$variant]}" node_variant="$default_node_variant" if [ "$type" != "default" ]; then dir="$variant-$type"