A set of Docker Container usefull to automate build of Godot games with Woodpecker CI.

Update to use only one dockerfile

Bigaston 80e2cdf1 8f321694

+1 -1
.woodpecker/build_godot.yml
··· 13 13 image: docker 14 14 commands: 15 15 - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD ghcr.io 16 - - docker build -t ghcr.io/bigaston/godotci:${GODOT_VERSION} --build-arg VERSION=${GODOT_VERSION} godotci 16 + - docker build -t ghcr.io/bigaston/godotci:${GODOT_VERSION} --build-arg VERSION=${GODOT_VERSION} --target desktop godotci 17 17 - docker push ghcr.io/bigaston/godotci:${GODOT_VERSION} 18 18 19 19 volumes:
+1 -1
.woodpecker/build_godot_android.yml
··· 13 13 image: docker 14 14 commands: 15 15 - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD ghcr.io 16 - - docker build -t ghcr.io/bigaston/godotci:android-${GODOT_VERSION} --build-arg VERSION=${GODOT_VERSION} -f godotci/DockerfileAndroid godotci 16 + - docker build -t ghcr.io/bigaston/godotci:android-${GODOT_VERSION} --build-arg VERSION=${GODOT_VERSION} --target android godotci 17 17 - docker push ghcr.io/bigaston/godotci:android-${GODOT_VERSION} 18 18 19 19 volumes:
+1 -1
godotci/.woodpecker/build-android.yml
··· 13 13 image: docker 14 14 commands: 15 15 - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY 16 - - docker build -t $DOCKER_REGISTRY/${CI_REPO_OWNER,,}/${CI_REPO_NAME,,}:android-${GODOT_VERSION} --build-arg VERSION=${GODOT_VERSION} -f DockerfileAndroid . 16 + - docker build -t $DOCKER_REGISTRY/${CI_REPO_OWNER,,}/${CI_REPO_NAME,,}:android-${GODOT_VERSION} --build-arg VERSION=${GODOT_VERSION} --target android . 17 17 - docker push $DOCKER_REGISTRY/${CI_REPO_OWNER,,}/${CI_REPO_NAME,,}:android-${GODOT_VERSION} 18 18 19 19 volumes:
+1 -1
godotci/.woodpecker/build-linux.yml
··· 13 13 image: docker 14 14 commands: 15 15 - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY 16 - - docker build -t $DOCKER_REGISTRY/${CI_REPO_OWNER,,}/${CI_REPO_NAME,,}:${GODOT_VERSION} --build-arg VERSION=${GODOT_VERSION} . 16 + - docker build -t $DOCKER_REGISTRY/${CI_REPO_OWNER,,}/${CI_REPO_NAME,,}:${GODOT_VERSION} --build-arg VERSION=${GODOT_VERSION} --target desktop . 17 17 - docker push $DOCKER_REGISTRY/${CI_REPO_OWNER,,}/${CI_REPO_NAME,,}:${GODOT_VERSION} 18 18 19 19 volumes:
+22 -2
godotci/Dockerfile
··· 1 - FROM ubuntu 1 + FROM ubuntu AS desktop 2 2 3 3 ARG VERSION=4.3-stable 4 4 ··· 19 19 # Clean APT 20 20 RUN rm -rf /var/lib/apt/lists/* 21 21 22 - RUN godot --version 22 + RUN godot --version 23 + 24 + FROM desktop AS android 25 + RUN apt update 26 + RUN apt install -y openjdk-17-jdk 27 + 28 + RUN mkdir /android 29 + RUN wget https://dl.google.com/android/repository/commandlinetools-linux-13114758_latest.zip -O commandlinetools.zip 30 + RUN unzip commandlinetools.zip 31 + RUN rm commandlinetools.zip 32 + RUN mv cmdline-tools /android 33 + RUN yes | /android/cmdline-tools/bin/sdkmanager --licenses --sdk_root=/android 34 + RUN /android/cmdline-tools/bin/sdkmanager --sdk_root=/android "platform-tools" "build-tools;34.0.0" "platforms;android-34" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313" 35 + 36 + COPY debug.keystore /android/debug.keystore 37 + COPY editor_settings /root/.config/godot/editor_settings 38 + RUN cat /root/.config/godot/editor_settings 39 + RUN version="${VERSION}"; short_version="$(echo "$version" | grep -oE '^[0-9]+\.[0-9]+')"; mv /root/.config/godot/editor_settings /root/.config/godot/editor_settings-$short_version.tres 40 + 41 + # Clean APT 42 + RUN rm -rf /var/lib/apt/lists/*
-38
godotci/DockerfileAndroid
··· 1 - FROM ubuntu 2 - 3 - ARG VERSION=4.3-stable 4 - 5 - # Install required packages 6 - RUN apt update 7 - RUN apt install -y zip 8 - RUN apt install -y curl 9 - RUN apt install -y wget 10 - RUN apt install -y fontconfig 11 - RUN apt install -y git 12 - 13 - RUN mkdir /godot 14 - 15 - COPY download_godot.sh . 16 - RUN sh download_godot.sh ${VERSION} 17 - RUN rm download_godot.sh 18 - 19 - # Android 20 - RUN apt install -y openjdk-17-jdk 21 - 22 - RUN mkdir /android 23 - RUN wget https://dl.google.com/android/repository/commandlinetools-linux-13114758_latest.zip -O commandlinetools.zip 24 - RUN unzip commandlinetools.zip 25 - RUN rm commandlinetools.zip 26 - RUN mv cmdline-tools /android 27 - RUN yes | /android/cmdline-tools/bin/sdkmanager --licenses --sdk_root=/android 28 - RUN /android/cmdline-tools/bin/sdkmanager --sdk_root=/android "platform-tools" "build-tools;34.0.0" "platforms;android-34" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313" 29 - 30 - COPY debug.keystore /android/debug.keystore 31 - COPY editor_settings /root/.config/godot/editor_settings 32 - RUN cat /root/.config/godot/editor_settings 33 - RUN version="${VERSION}"; short_version="$(echo "$version" | grep -oE '^[0-9]+\.[0-9]+')"; mv /root/.config/godot/editor_settings /root/.config/godot/editor_settings-$short_version.tres 34 - 35 - # Clean APT 36 - RUN rm -rf /var/lib/apt/lists/* 37 - 38 - RUN godot --version