diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..72e8ffc --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +* diff --git a/.github/workflows/build-aarch64-app.yml b/.github/workflows/build-aarch64-app.yml new file mode 100644 index 0000000..e1e0d33 --- /dev/null +++ b/.github/workflows/build-aarch64-app.yml @@ -0,0 +1,13 @@ +name: build-aarch64-app + +on: + push: + +jobs: + build-app: + runs-on: ubuntu-latest + container: + image: ghcr.io/0xfeedc0de64/evcharger-app-build:aarch64-qt6.7.1 + steps: + - name: Check for dockerenv file + run: ls / -lah diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml new file mode 100644 index 0000000..db94786 --- /dev/null +++ b/.github/workflows/build-docker-image.yml @@ -0,0 +1,29 @@ +name: build-docker-image + +on: + push: + paths: + - Dockerfile + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - + name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - + name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v6 + with: + push: true + tags: 0xfeedc0de64/evcharger-app-build:aarch64-qt6.7.1 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a538d61 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,76 @@ +FROM archlinux + +RUN pacman -Syu --noconfirm sudo git jdk11-openjdk base-devel ninja \ + && rm -R /var/cache/pacman \ + && git clone https://github.com/KDAB/android_openssl /opt/android-sdk/android_openssl \ + && echo '%sudo ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers \ + && useradd -m feedc0de \ + && groupadd sudo \ + && usermod -a -G sudo feedc0de \ + && sed -i 's/ debug / !debug /g' /etc/makepkg.conf + +USER feedc0de + +RUN cd \ + && git clone https://aur.archlinux.org/trizen.git \ + && cd trizen \ + && makepkg -si --noconfirm \ + && cd .. \ + && sudo rm -R trizen /var/cache/pacman + +RUN trizen -S --noconfirm android-environment \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-sdk-build-tools \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-sdk \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-ndk \ + && sudo rm -R ~/.cache /var/cache/pacman + +ENV ANDROID_NDK_ROOT=/opt/android-ndk + +RUN trizen -S --noconfirm android-pkg-config \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-cmake \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-sdk-platform-tools \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-platform \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-aarch64-libjpeg-turbo \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-configure \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-aarch64-zlib \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-aarch64-libpng \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN gpg2 --recv-keys D894E2CE8B3D79F5 \ + && trizen -S --noconfirm android-aarch64-openssl \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-aarch64-qt6-base \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-aarch64-qt6-shadertools \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-aarch64-qt6-declarative \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-aarch64-qt6-websockets \ + && sudo rm -R ~/.cache /var/cache/pacman + +RUN trizen -S --noconfirm android-aarch64-qt6-tools \ + && sudo rm -R ~/.cache /var/cache/pacman