Ошибка запуска самоустанавливающегося бегуна GithubAction Исключение SocketException: Сброс подключения

#android #docker #gradle #github-actions #gradlew

Вопрос:

Мы настраиваем автономный Android-раннер для GithubActions, но когда мы запускаем какую-либо команду gradlew , он вылетает/перестает отправлять сообщение об ошибке сброса соединения.

Наш файл docker содержит основные для Android-раннера (несколько строк кода для установки gradle и sdk. инструменты также установлены правильно).

 # Gradle ENV GRADLE_VERSION 7.0.2 ENV GRADLE_HOME="/opt/gradle" ENV GRADLE_SDK_URL https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip RUN curl -sSL "${GRADLE_SDK_URL}" -o gradle-${GRADLE_VERSION}-bin.zip   amp;amp; unzip -q gradle-${GRADLE_VERSION}-bin.zip -d ${GRADLE_HOME}   amp;amp; rm -rf gradle-${GRADLE_VERSION}-bin.zip   amp;amp; chmod  775 /opt/gradle   ENV PATH ${GRADLE_HOME}/bin:$PATH  # Install Android SDK RUN echo "SDK tools ${ANDROID_SDK_TOOLS_VERSION}"   amp;amp; cd /opt   amp;amp; chmod  775 .   amp;amp; wget -q "https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS_VERSION}_latest.zip" -O android-commandline-tools.zip   amp;amp; mkdir -p ${ANDROID_SDK_HOME}/cmdline-tools   amp;amp; unzip -q android-commandline-tools.zip -d /tmp/   amp;amp; mv /tmp/cmdline-tools/ ${ANDROID_SDK_HOME}/cmdline-tools/latest   amp;amp; rm android-commandline-tools.zip amp;amp; ls -la ${ANDROID_SDK_HOME}/cmdline-tools/latest/  

Затем, когда в рабочем процессе мы выполняем какую ./gradlew -то команду, она выходит из строя.

некоторые примеры команд, которые приводят к сбою:

 gt; ./gradlew --version  gt; ./gradlew app:assembleBetaRelease --offline  

Всегда один и тот же журнал ошибок:

 Run ./gradlew --version Downloading https://services.gradle.org/distributions/gradle-7.0.2-all.zip  Exception in thread "main" java.lang.RuntimeException: java.net.SocketException: Connection reset  at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)  at org.gradle.wrapper.Install.createDist(Install.java:47)  at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)  at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48) Caused by: java.net.SocketException: Connection reset  at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)  at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)  at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478)  at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472)  at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)  at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111)  at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1426)  at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1336)  at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)  at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)  at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:572)  at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:197)  at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1592)  at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)  at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)  at org.gradle.wrapper.Download.downloadInternal(Download.java:59)  at org.gradle.wrapper.Download.download(Download.java:45)  at org.gradle.wrapper.Install$1.call(Install.java:60)  at org.gradle.wrapper.Install$1.call(Install.java:47)  at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)  ... 3 more Error: Process completed with exit code 1.  

Похоже, что пытается загрузить Gradle, но он ранее существовал в файле dockerfile.

Мы забыли какую-то конфигурацию в файле dockerfile или что-то подобное?