diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index ce7b4be..c1b2fbc 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -14,10 +14,6 @@ jobs: build-api-33: runs-on: ubuntu-latest steps: - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub uses: docker/login-action@v2 with: @@ -27,116 +23,115 @@ jobs: uses: docker/build-push-action@v4 with: push: true - platforms: linux/amd64,linux/arm/v8 tags: halimqarroum/docker-android:api-33 build-args: API_LEVEL=33 - # build-api-32: - # runs-on: ubuntu-latest - # steps: - # - name: Login to Docker Hub - # uses: docker/login-action@v2 - # with: - # username: ${{ secrets.DOCKER_HUB_USERNAME }} - # password: ${{ secrets.DOCKER_HUB_TOKEN }} - # - name: Build Docker image with Android 32 - # uses: docker/build-push-action@v4 - # with: - # push: true - # tags: halimqarroum/docker-android:api-32 - # build-args: API_LEVEL=32 + build-api-32: + runs-on: ubuntu-latest + steps: + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + - name: Build Docker image with Android 32 + uses: docker/build-push-action@v4 + with: + push: true + tags: halimqarroum/docker-android:api-32 + build-args: API_LEVEL=32 - # build-api-31: - # runs-on: ubuntu-latest - # steps: - # - name: Login to Docker Hub - # uses: docker/login-action@v2 - # with: - # username: ${{ secrets.DOCKER_HUB_USERNAME }} - # password: ${{ secrets.DOCKER_HUB_TOKEN }} - # - name: Build Docker image with Android 31 - # uses: docker/build-push-action@v4 - # with: - # push: true - # tags: halimqarroum/docker-android:api-31 - # build-args: API_LEVEL=31 + build-api-31: + runs-on: ubuntu-latest + steps: + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + - name: Build Docker image with Android 31 + uses: docker/build-push-action@v4 + with: + push: true + tags: halimqarroum/docker-android:api-31 + build-args: API_LEVEL=31 - # build-api-30: - # runs-on: ubuntu-latest - # steps: - # - name: Login to Docker Hub - # uses: docker/login-action@v2 - # with: - # username: ${{ secrets.DOCKER_HUB_USERNAME }} - # password: ${{ secrets.DOCKER_HUB_TOKEN }} - # - name: Build Docker image with Android 30 - # uses: docker/build-push-action@v4 - # with: - # push: true - # tags: halimqarroum/docker-android:api-30 - # build-args: API_LEVEL=30 + build-api-30: + runs-on: ubuntu-latest + steps: + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + - name: Build Docker image with Android 30 + uses: docker/build-push-action@v4 + with: + push: true + tags: halimqarroum/docker-android:api-30 + build-args: API_LEVEL=30 - # build-api-29: - # runs-on: ubuntu-latest - # steps: - # - name: Login to Docker Hub - # uses: docker/login-action@v2 - # with: - # username: ${{ secrets.DOCKER_HUB_USERNAME }} - # password: ${{ secrets.DOCKER_HUB_TOKEN }} - # - name: Build Docker image with Android 29 - # uses: docker/build-push-action@v4 - # with: - # push: true - # tags: halimqarroum/docker-android:api-29 - # build-args: API_LEVEL=29 + build-api-29: + runs-on: ubuntu-latest + steps: + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + - name: Build Docker image with Android 29 + uses: docker/build-push-action@v4 + with: + push: true + tags: halimqarroum/docker-android:api-29 + build-args: API_LEVEL=29 - # build-api-28: - # runs-on: ubuntu-latest - # steps: - # - name: Login to Docker Hub - # uses: docker/login-action@v2 - # with: - # username: ${{ secrets.DOCKER_HUB_USERNAME }} - # password: ${{ secrets.DOCKER_HUB_TOKEN }} - # - name: Build Docker image with Android 28 - # uses: docker/build-push-action@v4 - # with: - # push: true - # tags: halimqarroum/docker-android:api-28 - # build-args: | - # "API_LEVEL=28" - # "ARCHITECTURE=x86" + build-api-28: + runs-on: ubuntu-latest + steps: + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + - name: Build Docker image with Android 28 + uses: docker/build-push-action@v4 + with: + push: true + tags: halimqarroum/docker-android:api-28 + build-args: | + "API_LEVEL=28" + "ARCHITECTURE=x86" - # build-api-28-playstore: - # runs-on: ubuntu-latest - # steps: - # - name: Login to Docker Hub - # uses: docker/login-action@v2 - # with: - # username: ${{ secrets.DOCKER_HUB_USERNAME }} - # password: ${{ secrets.DOCKER_HUB_TOKEN }} - # - name: Build Docker image with Android 28 and the PlayStore - # uses: docker/build-push-action@v4 - # with: - # push: true - # tags: halimqarroum/docker-android:api-28-playstore - # build-args: | - # "API_LEVEL=28" - # "ARCHITECTURE=x86" - # "IMG_TYPE=google_apis_playstore" + build-api-28-playstore: + runs-on: ubuntu-latest + steps: + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + - name: Build Docker image with Android 28 and the PlayStore + uses: docker/build-push-action@v4 + with: + push: true + tags: halimqarroum/docker-android:api-28-playstore + build-args: | + "API_LEVEL=28" + "ARCHITECTURE=x86" + "IMG_TYPE=google_apis_playstore" - # build-minimal: - # runs-on: ubuntu-latest - # steps: - # - name: Login to Docker Hub - # uses: docker/login-action@v2 - # with: - # username: ${{ secrets.DOCKER_HUB_USERNAME }} - # password: ${{ secrets.DOCKER_HUB_TOKEN }} - # - name: Build minimal Docker image - # uses: docker/build-push-action@v4 - # with: - # push: true - # tags: halimqarroum/docker-android:minimal - # build-args: INSTALL_ANDROID_SDK=0 + build-minimal: + runs-on: ubuntu-latest + steps: + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + - name: Build minimal Docker image + uses: docker/build-push-action@v4 + with: + push: true + tags: halimqarroum/docker-android:minimal + build-args: INSTALL_ANDROID_SDK=0 diff --git a/Dockerfile b/Dockerfile index c619f89..e29cdd0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM adoptopenjdk/openjdk11:jre +FROM adoptopenjdk/openjdk11:alpine-jre # Docker labels. LABEL maintainer "Halim Qarroum " @@ -10,24 +10,23 @@ LABEL version "1.0.0" COPY deps/redir/redir.c /usr/src/redir.c # Installing required packages. -RUN apt update --yes && \ - apt upgrade --yes && \ - apt install --yes \ - build-essential \ +RUN apk update && \ + apk upgrade && \ + apk add --no-cache \ + alpine-sdk \ bash \ unzip \ wget \ - libvirt-daemon-system \ - libvirt-clients \ - bridge-utils && \ + libvirt-daemon \ + dbus \ + polkit \ + virt-manager && \ # Compile `redir`. gcc /usr/src/redir.c -o /usr/bin/redir && \ strip /usr/bin/redir && \ - # Cleanup APT. - apt remove build-essential --yes && \ - apt clean autoclean --yes && \ - apt autoremove --yes && \ - rm -rf /var/lib/{apt,dpkg,cache,log}/ + # Cleanup APK. + apk del alpine-sdk && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apk/* # Arguments that can be overriden at build-time. ARG INSTALL_ANDROID_SDK=1