From eb4e1c080dc0b7d7ec24869be0319b209aed2ad8 Mon Sep 17 00:00:00 2001 From: lafay <2021211506@stu.hit.edu.cn> Date: Wed, 22 Apr 2026 20:46:59 +0800 Subject: [PATCH] ci(build): add Tencent Gradle mirror and reorder Maven mirrors for China network - Add new step to switch Gradle distribution URL to Tencent mirror (mirrors.cloud.tencent.com/gradle/) - Reorder Maven repository configuration to prioritize Aliyun mirrors before google() and mavenCentral() - Add gradle-plugin to Aliyun mirror list for improved China network compatibility --- .gitea/workflows/build.yml | 44 ++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 84c8ec2..5d73862 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -1,4 +1,4 @@ -name: Frontend CI +name: Frontend CI on: push: @@ -150,25 +150,37 @@ jobs: - name: Generate Android native project run: npx expo prebuild --platform android + - name: Switch Gradle distribution to Tencent mirror + run: | + PROPS="android/gradle/wrapper/gradle-wrapper.properties" + if [ -f "$PROPS" ]; then + sed -i 's|distributionUrl=https\\://services.gradle.org/distributions/|distributionUrl=https\\://mirrors.cloud.tencent.com/gradle/|' "$PROPS" + echo "Updated gradle-wrapper.properties:" + cat "$PROPS" + else + echo "gradle-wrapper.properties not found" + exit 1 + fi + - name: Decode Android signing keystore run: | echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 -d > android/app/withyou-release-key.keystore - - name: Configure Gradle with Aliyun Maven mirror + - name: Configure Gradle with China Maven mirrors run: | cd android - # Update settings.gradle with Aliyun Maven mirror + # Update settings.gradle with China Maven mirrors cat > settings.gradle << 'SETTINGS_EOF' pluginManagement { repositories { + maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } + maven { url 'https://maven.aliyun.com/repository/google' } + maven { url 'https://maven.aliyun.com/repository/public' } + maven { url 'https://maven.aliyun.com/repository/central' } google() mavenCentral() gradlePluginPortal() - maven { url 'https://maven.aliyun.com/repository/public' } - maven { url 'https://maven.aliyun.com/repository/google' } - maven { url 'https://maven.aliyun.com/repository/central' } - maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } } def reactNativeGradlePlugin = new File( providers.exec { @@ -210,18 +222,18 @@ jobs: includeBuild(expoAutolinking.reactNativeGradlePlugin) SETTINGS_EOF - # Update build.gradle with Aliyun Maven mirror + # Update build.gradle with China Maven mirrors cat > build.gradle << 'BUILD_EOF' // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { + maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } + maven { url 'https://maven.aliyun.com/repository/google' } + maven { url 'https://maven.aliyun.com/repository/public' } + maven { url 'https://maven.aliyun.com/repository/central' } google() mavenCentral() - maven { url 'https://maven.aliyun.com/repository/public' } - maven { url 'https://maven.aliyun.com/repository/google' } - maven { url 'https://maven.aliyun.com/repository/central' } - maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } } dependencies { classpath('com.android.tools.build:gradle') @@ -232,12 +244,12 @@ jobs: allprojects { repositories { + maven { url 'https://maven.aliyun.com/repository/google' } + maven { url 'https://maven.aliyun.com/repository/public' } + maven { url 'https://maven.aliyun.com/repository/central' } + maven { url 'https://www.jitpack.io' } google() mavenCentral() - maven { url 'https://www.jitpack.io' } - maven { url 'https://maven.aliyun.com/repository/public' } - maven { url 'https://maven.aliyun.com/repository/google' } - maven { url 'https://maven.aliyun.com/repository/central' } } }