comaps/docker-android-sdk
16
2
Fork
You've already forked docker-android-sdk
1

Docker image that's currently working #1

Merged
x7z4w merged 9 commits from zy-docker into main 2026年02月05日 15:11:38 +01:00

Generated https://codeberg.org/comaps/-/packages/container/docker-android-sdk/a4b99ad06afc with

docker build . --file ubuntu/standalone/Dockerfile -t android-sdk
docker tag android-sdk codeberg.org/comaps/docker-android-sdk:latest
docker push codeberg.org/comaps/docker-android-sdk:latest
docker tag android-sdk codeberg.org/comaps/docker-android-sdk:a4b99ad06afc
docker push codeberg.org/comaps/docker-android-sdk:a4b99ad06afc

Generated https://codeberg.org/comaps/-/packages/container/docker-android-sdk/a4b99ad06afc with docker build . --file ubuntu/standalone/Dockerfile -t android-sdk docker tag android-sdk codeberg.org/comaps/docker-android-sdk:latest docker push codeberg.org/comaps/docker-android-sdk:latest docker tag android-sdk codeberg.org/comaps/docker-android-sdk:a4b99ad06afc docker push codeberg.org/comaps/docker-android-sdk:a4b99ad06afc
@ -18,7 +16,6 @@ RUN dpkg --add-architecture i386 && apt-get update -yqq && apt-get install -y \
libarchive-tools \
locales \
make \
openjdk-17-jdk \
Owner
Copy link

Is this really not needed?

Is this really not needed?
Author
Owner
Copy link

openjdk-21-jdk is

openjdk-21-jdk is
zyphlar marked this conversation as resolved
@ -31,0 +45,4 @@
RUN pip install protobuf<3.21 --break-system-packages
RUN update-alternatives --set java /usr/lib/jvm/java-21-openjdk-amd64/bin/java
RUN yes | sdkmanager --licenses || true
RUN sdkmanager "platforms;android-36" "build-tools;36.0.0" "ndk;28.2.13676358"
Owner
Copy link

This is done by tools/package-list-minimal.txt or that file is not needed anymore?

This is done by `tools/package-list-minimal.txt` or that file is not needed anymore?
zyphlar marked this conversation as resolved
Owner
Copy link

@zyphlar something is not right with the Java version

Welcome to Gradle 8.14.3!
Here are the highlights of this release:
 - Java 24 support
 - GraalVM Native Image toolchain selection
 - Enhancements to test reporting
 - Build Authoring improvements
For more details see https://docs.gradle.org/8.14.3/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.
* What went wrong:
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 69
> Unsupported class file major version 69

major version 69 is Java 25

https://docs.gradle.org/current/userguide/compatibility.html

@zyphlar something is not right with the Java version ``` Welcome to Gradle 8.14.3! Here are the highlights of this release: - Java 24 support - GraalVM Native Image toolchain selection - Enhancements to test reporting - Build Authoring improvements For more details see https://docs.gradle.org/8.14.3/release-notes.html Starting a Gradle Daemon (subsequent builds will be faster) FAILURE: Build failed with an exception. * What went wrong: BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 69 > Unsupported class file major version 69 ``` `major version 69` is Java 25 https://docs.gradle.org/current/userguide/compatibility.html
First-time contributor
Copy link

We using Java 21 on Android

We using Java 21 on Android
zyphlar force-pushed zy-docker from 98efc44899
All checks were successful
cicd / build (lazydl, alpine) (push) Has been skipped
cicd / build (lazydl, ubuntu) (push) Has been skipped
cicd / build (standalone, alpine) (push) Has been skipped
cicd / build (standalone, ubuntu) (push) Has been skipped
cicd / build (lazydl, alpine) (pull_request) Has been skipped
cicd / build (lazydl, ubuntu) (pull_request) Has been skipped
cicd / build (standalone, alpine) (pull_request) Has been skipped
cicd / build (standalone, ubuntu) (pull_request) Has been skipped
to 653c1fddb2 2026年01月16日 18:45:34 +01:00
Compare
@ -4,2 +25,4 @@
platform-tools
platforms;android-35
platforms;android-36
tools
Owner
Copy link

Did you copy over all components from upstream? I've deleted them as we don't need them for building CM.

Did you copy over all components from upstream? I've deleted them as we don't need them for building CM.
zyphlar marked this conversation as resolved
Owner
Copy link

Would we alias ubuntu-latest to this image later?
We can also make this image build itself...

Would we alias `ubuntu-latest` to this image later? We can also make this image build itself...
Author
Owner
Copy link

@x7z4w wrote in #1 (comment):

Would we alias ubuntu-latest to this image later? We can also make this image build itself...

So it's very confusing but "ubuntu-latest" is a forgejo/github runner tag. Github installs all this stuff in their VM that does the runner: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md we just basically need Node for Actions and use Docker for our runners instead of bare VMs, so ubuntu-latest is just an alias for the node:latest Docker image.

That's all to say that the status of this cicd.yml is to run a bunch of Actions on a bare Runner to generate and upload a Docker Image which will be used to build Android apps.

Then later over at comaps/comaps, we use that docker image to build the Android apps.

So yes any needed images get built in the cloud now, but we don't need to keep going, "this" image is just a runner tag for a publicly-available existing image. There is no "this" image, "this" is CICD commands running on a runner (that happens to be, but doesn't need to be, a Docker image)

@x7z4w wrote in https://codeberg.org/comaps/docker-android-sdk/pulls/1#issuecomment-9913074: > Would we alias `ubuntu-latest` to this image later? We can also make this image build itself... So it's very confusing but "ubuntu-latest" is a forgejo/github runner tag. Github installs all this stuff in their VM that does the runner: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md we just basically need Node for Actions and use Docker for our runners instead of bare VMs, so ubuntu-latest is just an alias for the node:latest Docker image. That's all to say that the status of this cicd.yml is to run a bunch of Actions on a bare Runner to generate and upload a Docker Image which will be used to build Android apps. Then later over at comaps/comaps, we use that docker image to build the Android apps. So yes any needed images get built in the cloud now, but we don't need to keep going, "this" image is just a runner tag for a publicly-available existing image. There is no "this" image, "this" is CICD commands running on a runner (that happens to be, but doesn't need to be, a Docker image)
Owner
Copy link

@zyphlar what I mean is that we should point ubuntu-latest to comaps/docker-android-sdk.
It will make it easier to use this image for any future jobs for building CM, and currently this image would also fix our Linux build job.

If you'd still want a vanilla image for ubuntu-latest, then it'll be great to have at least any other alias for this image, e.g. comaps.

@zyphlar what I mean is that we should point `ubuntu-latest` to `comaps/docker-android-sdk`. It will make it easier to use this image for any future jobs for building CM, and currently this image would also fix our Linux build job. If you'd still want a vanilla image for `ubuntu-latest`, then it'll be great to have at least any other alias for this image, e.g. `comaps`.
x7z4w requested changes 2026年01月17日 11:59:51 +01:00
Dismissed
@ -5,4 +5,2 @@
push:
branches:["main"]
schedule:
- cron:'0 0 1 * *'
Owner
Copy link

My idea was to have the packages in the image up-to-date

My idea was to have the packages in the image up-to-date
x7z4w marked this conversation as resolved
@ -18,0 +22,4 @@
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update -y
apt-get install -y docker-ce-cli docker-buildx-plugin
Owner
Copy link

nit: I had this problem before, this is because ubuntu-latest points to Debian's oldstable (bookworm).
stable (trixie) have the up-to-date Docker + the buildx plugin (docker-buildx)

To have a more clean way to do this, we can either:

  • install docker in the image then use comaps/docker-android-sdk to build itself
  • point ubuntu-latest to trixie (though see my comment above)
nit: I had this problem before, this is because `ubuntu-latest` points to Debian's `oldstable` (`bookworm`). `stable` (`trixie`) have the up-to-date Docker + the `buildx` plugin (`docker-buildx`) To have a more clean way to do this, we can either: * install docker in the image then use `comaps/docker-android-sdk` to build itself * point `ubuntu-latest` to `trixie` (though see my [comment](https://codeberg.org/comaps/docker-android-sdk/pulls/1#issuecomment-9933528) above)
@ -4,2 +25,4 @@
platform-tools
platforms;android-35
platforms;android-36
tools
Owner
Copy link

Why re-adding these packages?
See this discussion for the reason I've removed them.

Why re-adding these packages? See [this](https://comaps.zulipchat.com/#narrow/channel/504453-Dev-Android/topic//near/533729623) discussion for the reason I've removed them.
x7z4w marked this conversation as resolved
@ -12,3 +11,3 @@
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -yqq && apt-get install -y \
RUN dpkg --add-architecture i386 && apt-get update -yqq && apt-get install -y \
Owner
Copy link

We don't build for i386 (?), and there are no :i386 packages being installed.

We don't build for `i386` (?), and there are no `:i386` packages being installed.
x7z4w marked this conversation as resolved
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
review
Some checks failed
cicd / build (standalone, ubuntu) (push) Failing after 2m28s
f7083024bc
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
x7z4w left a comment
Copy link

Labels should still be added by @zyphlar or @pastk

Merging to unblock further fixes.

Labels should still be added by @zyphlar or @pastk Merging to unblock further fixes.
x7z4w deleted branch zy-docker 2026年02月05日 15:11:39 +01:00
Sign in to join this conversation.
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
comaps/docker-android-sdk!1
Reference in a new issue
comaps/docker-android-sdk
No description provided.
Delete branch "zy-docker"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?