Skip to content

Commit df1362a

Browse files
committed
Updated to Android 34.0.0, Java 17, Node.js 18 LTS, Gradle 8.5, and latest Fastlane
1 parent a2dbc84 commit df1362a

File tree

5 files changed

+53
-38
lines changed

5 files changed

+53
-38
lines changed

.github/workflows/docker-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99

1010
env:
1111
DOCKER_IMAGE: webcuisine/gitlab-ci-react-native-android
12-
TAG_VERSION: android-28.0.3
12+
TAG_VERSION: android-34.0.0
1313

1414
jobs:
1515
build-and-push:

Dockerfile

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,73 @@
11
#
2-
# GitLab CI react-native-android v0.1
2+
# GitLab CI react-native-android v0.2
33
#
44
# https://hub.docker.com/r/webcuisine/gitlab-ci-react-native-android/
55
# https://github.com/cuisines/gitlab-ci-react-native-android
66
#
77

8-
FROM ubuntu:18.10
8+
FROM ubuntu:22.04
99
MAINTAINER Sascha-Matthias Kulawik <[email protected]>
1010

11-
RUN echo "Android SDK 26.1.1"
12-
ENV VERSION_SDK_TOOLS "4333796"
11+
RUN echo "Android SDK 34.0.0"
12+
ENV VERSION_SDK_TOOLS="10406996"
1313

14-
ENV ANDROID_HOME "/sdk"
15-
ENV PATH "$PATH:${ANDROID_HOME}/tools"
16-
ENV DEBIAN_FRONTEND noninteractive
14+
ENV ANDROID_HOME="/sdk"
15+
ENV PATH="$PATH:${ANDROID_HOME}/tools:${ANDROID_HOME}/cmdline-tools/latest/bin"
16+
ENV DEBIAN_FRONTEND=noninteractive
1717

1818
RUN apt-get -qq update && \
1919
apt-get install -qqy --no-install-recommends \
2020
bzip2 \
2121
curl \
22-
git-core \
22+
git \
2323
html2text \
24-
openjdk-8-jdk \
25-
libc6-i386 \
26-
lib32stdc++6 \
27-
lib32gcc1 \
28-
# lib32ncurses5 \
29-
lib32z1 \
24+
openjdk-17-jdk \
3025
gnupg2 \
3126
unzip \
27+
ca-certificates \
28+
software-properties-common \
29+
wget \
3230
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
3331

3432
RUN rm -f /etc/ssl/certs/java/cacerts; \
3533
/var/lib/dpkg/info/ca-certificates-java.postinst configure
3634

37-
RUN curl -s https://dl.google.com/android/repository/sdk-tools-linux-${VERSION_SDK_TOOLS}.zip > /sdk.zip && \
38-
unzip /sdk.zip -d /sdk && \
39-
rm -v /sdk.zip
35+
RUN curl -s https://dl.google.com/android/repository/commandlinetools-linux-${VERSION_SDK_TOOLS}_latest.zip > /sdk.zip && \
36+
unzip /sdk.zip -d /tmp && \
37+
rm -v /sdk.zip && \
38+
mkdir -p ${ANDROID_HOME}/cmdline-tools && \
39+
mv /tmp/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest
4040

4141
RUN mkdir -p $ANDROID_HOME/licenses/ \
42-
&& echo "8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > $ANDROID_HOME/licenses/android-sdk-license \
42+
&& echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > $ANDROID_HOME/licenses/android-sdk-license \
4343
&& echo "84831b9409646a918e30573bab4c9c91346d8abd" > $ANDROID_HOME/licenses/android-sdk-preview-license
4444

4545
ADD packages.txt /sdk
4646
RUN mkdir -p /root/.android && \
4747
touch /root/.android/repositories.cfg && \
48-
${ANDROID_HOME}/tools/bin/sdkmanager --update
48+
${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --update
4949

5050
RUN while read -r package; do PACKAGES="${PACKAGES}${package} "; done < /sdk/packages.txt && \
51-
yes | ${ANDROID_HOME}/tools/bin/sdkmanager ${PACKAGES}
51+
yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager ${PACKAGES}
5252

53-
RUN echo "Installing Yarn Deb Source" \
54-
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
55-
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
53+
RUN echo "Installing Node.JS 18 LTS" \
54+
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
55+
&& apt-get install -y nodejs
5656

57-
RUN echo "Installing Node.JS" \
58-
&& curl -sL https://deb.nodesource.com/setup_10.x | bash -
57+
RUN echo "Installing Yarn" \
58+
&& npm install -g yarn
5959

60-
ENV BUILD_PACKAGES git yarn nodejs build-essential imagemagick librsvg2-bin ruby ruby-dev wget libcurl4-openssl-dev
60+
ENV BUILD_PACKAGES="git build-essential imagemagick librsvg2-bin ruby ruby-dev libcurl4-openssl-dev"
6161
RUN echo "Installing Additional Libraries" \
6262
&& rm -rf /var/lib/gems \
6363
&& apt-get update && apt-get install $BUILD_PACKAGES -qqy --no-install-recommends
6464

65-
RUN echo "Installing Fastlane 2.61.0" \
65+
RUN echo "Installing latest Fastlane" \
6666
&& gem install fastlane badge -N \
6767
&& gem cleanup
6868

69-
ENV GRADLE_HOME /opt/gradle
70-
ENV GRADLE_VERSION 5.6.3
69+
ENV GRADLE_HOME=/opt/gradle
70+
ENV GRADLE_VERSION=8.5
7171

7272
RUN echo "Downloading Gradle" \
7373
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip"

GITHUB_ACTIONS_SETUP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ The workflow is configured to run:
4343

4444
The workflow will automatically create the following tags:
4545
- `latest` (only for the default branch)
46-
- `android-28.0.3` (version tag)
46+
- `android-34.0.0` (version tag)
4747
- Branch-specific tags for development
4848

4949
### 4. Manual Trigger

README.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
# gitlab-ci-react-native-android
2-
## Android 28.0.3 and Fastlane 2.61.0
2+
## Android 34.0.0, Java 17, Node.js 18 LTS, Gradle 8.5, and Latest Fastlane
33
This Docker image contains react-native and the Android SDK and most common packages necessary for building Android apps in a CI tool like GitLab CI.
44

5+
**Updated for 2024:**
6+
- Ubuntu 22.04 LTS
7+
- Android SDK 34.0.0 with command line tools
8+
- Java 17 (OpenJDK)
9+
- Node.js 18 LTS
10+
- Gradle 8.5
11+
- Yarn latest
12+
- Fastlane latest
13+
514
A `.gitlab-ci.yml` with caching of your project's dependencies would look like this:
615

716
```
@@ -33,14 +42,14 @@ or like this [example with fastlane](./exampleWithFastlane.md)
3342
This repository uses GitHub Actions to automatically build and push the Docker image to Docker Hub whenever changes are made. The image is available at:
3443

3544
- **Latest**: `webcuisine/gitlab-ci-react-native-android:latest`
36-
- **Versioned**: `webcuisine/gitlab-ci-react-native-android:android-28.0.3`
45+
- **Versioned**: `webcuisine/gitlab-ci-react-native-android:android-34.0.0`
3746

3847
See [GITHUB_ACTIONS_SETUP.md](./GITHUB_ACTIONS_SETUP.md) for setup instructions.
3948

4049
## Detached testing
4150
Build locally
4251
```
43-
docker build -t webcuisine/gitlab-ci-react-native-android:android-28.0.3 .
52+
docker build -t webcuisine/gitlab-ci-react-native-android:android-34.0.0 .
4453
```
4554
or run from remote
4655
```

packages.txt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
add-ons;addon-google_apis-google-24
2-
build-tools;28.0.3
1+
build-tools;34.0.0
2+
build-tools;33.0.2
3+
build-tools;32.0.0
4+
build-tools;31.0.0
35
extras;android;m2repository
46
extras;google;m2repository
57
extras;google;google_play_services
6-
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2
7-
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2
88
platform-tools
9+
platforms;android-34
10+
platforms;android-33
11+
platforms;android-32
12+
platforms;android-31
13+
platforms;android-30
14+
platforms;android-29
915
platforms;android-28

0 commit comments

Comments
 (0)