From 5826df1464fb5f5f3860fd50645e13f9bd11ffb4 Mon Sep 17 00:00:00 2001 From: Oskar Date: Sun, 24 Oct 2021 00:18:08 +0200 Subject: [PATCH] Use AUR (#5) * Create archlinux/Dockerfile * Move and Update Dockerfile to ubuntu/Dockerfile * Update docker-publish.yml --- .github/workflows/docker-publish.yml | 25 ++++++++++++++-- archlinux/Dockerfile | 44 ++++++++++++++++++++++++++++ Dockerfile => ubuntu/Dockerfile | 24 ++++----------- 3 files changed, 72 insertions(+), 21 deletions(-) create mode 100644 archlinux/Dockerfile rename Dockerfile => ubuntu/Dockerfile (64%) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index a3911a0..966af9c 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -11,7 +11,7 @@ on: pull_request: jobs: - build: + archlinux: runs-on: ubuntu-latest steps: @@ -28,6 +28,27 @@ jobs: - name: Build and push Docker image uses: docker/build-push-action@v2 with: - context: . + context: archlinux + push: ${{ github.event_name != 'pull_request' }} + tags: medzik/android-sdk:archlinux + ubuntu: + needs: archlinux + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v2 + with: + context: ubuntu push: ${{ github.event_name != 'pull_request' }} tags: medzik/android-sdk:latest diff --git a/archlinux/Dockerfile b/archlinux/Dockerfile new file mode 100644 index 0000000..0c54119 --- /dev/null +++ b/archlinux/Dockerfile @@ -0,0 +1,44 @@ +FROM medzik/archlinux:latest + +WORKDIR /home/build + +# Install dependencies +RUN sudo pacman -Sy --noconfirm \ + jdk11-openjdk \ + && yes | sudo pacman -Scc + +# Install cmdline tools +RUN git clone https://aur.archlinux.org/android-sdk-cmdline-tools-latest.git \ + && cd android-sdk-cmdline-tools-latest \ + && makepkg -sr --noconfirm \ + && sudo pacman -U ./*.pkg.tar* --noconfirm \ + && cd .. \ + && rm -rf android-sdk-cmdline-tools-latest \ + && yes | sudo pacman -Scc + +# Install platform tools +RUN git clone https://aur.archlinux.org/android-sdk-platform-tools.git \ + && cd android-sdk-platform-tools \ + && makepkg -sr --noconfirm \ + && sudo pacman -U ./*.pkg.tar* --noconfirm \ + && cd .. \ + && rm -rf android-sdk-platform-tools \ + && yes | sudo pacman -Scc + +# Install platform +RUN git clone https://aur.archlinux.org/android-platform.git \ + && cd android-platform \ + && makepkg -sr --noconfirm \ + && sudo pacman -U ./*.pkg.tar* --noconfirm \ + && cd .. \ + && rm -rf android-platform \ + && yes | sudo pacman -Scc + +# Install build tools +RUN git clone https://aur.archlinux.org/android-sdk-build-tools.git \ + && cd android-sdk-build-tools \ + && makepkg -sr --noconfirm \ + && sudo pacman -U ./*.pkg.tar* --noconfirm \ + && cd .. \ + && rm -rf android-sdk-build-tools \ + && yes | sudo pacman -Scc diff --git a/Dockerfile b/ubuntu/Dockerfile similarity index 64% rename from Dockerfile rename to ubuntu/Dockerfile index 9d8b5c6..b600e3d 100644 --- a/Dockerfile +++ b/ubuntu/Dockerfile @@ -1,3 +1,5 @@ +FROM medzik/android-sdk:archlinux AS sdk + FROM ubuntu:focal USER root @@ -11,9 +13,6 @@ ENV LC_ALL "en_US.UTF-8" ENV LANGUAGE "en_US:en" ENV PATH "${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/emulator:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${PATH}" -# comes from https://developer.android.com/studio/#command-tools -ENV ANDROID_SDK_TOOLS_FILE_NAME "commandlinetools-linux-7583922_latest.zip" - RUN apt-get update \ && apt-get install -qq -y --no-install-recommends \ apt-transport-https \ @@ -46,31 +45,18 @@ RUN apt-get update \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* +COPY --chown=root --from=sdk /opt/android-sdk ${ANDROID_HOME} + RUN set -o xtrace \ && cd /opt \ && sh -c 'echo "en_US.UTF-8 UTF-8" > /etc/locale.gen' \ && locale-gen \ && update-locale LANG=en_US.UTF-8 \ - && wget -q https://dl.google.com/android/repository/${ANDROID_SDK_TOOLS_FILE_NAME} -O android-sdk-tools.zip \ - && mkdir -p ${ANDROID_HOME}/cmdline-tools/ \ - && unzip -q android-sdk-tools.zip -d ${ANDROID_HOME}/cmdline-tools/ \ - && rm android-sdk-tools.zip \ - && mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest \ && chown -R root:root $ANDROID_HOME \ && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \ && yes | sdkmanager --licenses \ && wget -O /usr/bin/android-wait-for-emulator https://raw.githubusercontent.com/travis-ci/travis-cookbooks/master/community-cookbooks/android-sdk/files/default/android-wait-for-emulator \ - && chmod +x /usr/bin/android-wait-for-emulator \ - && touch /root/.android/repositories.cfg - -ENV ANDROID_PLATFORM_VERSION 30 -ENV ANDROID_BUILD_TOOLS_VERSION 30.0.2 - -RUN yes | sdkmanager \ - "platform-tools" \ - "platforms;android-$ANDROID_PLATFORM_VERSION" \ - "build-tools;$ANDROID_BUILD_TOOLS_VERSION" \ - "cmdline-tools;latest" + && chmod +x /usr/bin/android-wait-for-emulator RUN mkdir -p /root/.android \ && touch /root/.android/repositories.cfg