name: Build Debug on: pull_request: types: [opened, reopened, synchronize] workflow_dispatch: push: branches: - main jobs: BuildDebug: runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v6 - name: Checkout submodules run: git submodule update --init --recursive --force - name: Setup Java uses: actions/setup-java@v5 with: distribution: "temurin" java-version: 21 - name: Setup Gradle uses: gradle/actions/setup-gradle@v5 - name: Setup Go uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c with: go-download-base-url: 'https://github.com/MetaCubeX/go/releases/download/build' go-version: '1.26' - name: Apply Patches run: | cd $(go env GOROOT) for p in $GITHUB_WORKSPACE/.github/patch/*.patch; do patch --verbose -p 1 < "$p"; done - uses: actions/cache@v5 with: path: | ~/.cache/go-build ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Update CA run: | sudo apt-get update && sudo apt-get install ca-certificates sudo update-ca-certificates cp -f /etc/ssl/certs/ca-certificates.crt core/src/foss/golang/clash/component/ca/ca-certificates.crt # - name: Signing properties # env: # SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }} # SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} # SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} # run: | # touch signing.properties # echo keystore.password="$SIGNING_STORE_PASSWORD" > signing.properties # echo key.alias="$SIGNING_KEY_ALIAS" >> signing.properties # echo key.password="$SIGNING_KEY_PASSWORD" >> signing.properties # echo "cat signing.properties" # cat signing.properties - name: Build if: success() run: ./gradlew --no-daemon app:assembleAlphaRelease - name: Upload Aritfact (universal) uses: actions/upload-artifact@v7 if: ${{ success() }} with: name: CMFA Debug Unsigned APK (universal) path: | app/build/outputs/apk/alpha/release/*-universal-*.apk - name: Upload Aritfact (arm64-v8a) uses: actions/upload-artifact@v7 if: ${{ success() }} with: name: CMFA Debug Unsigned APK (arm64-v8a) path: | app/build/outputs/apk/alpha/release/*-arm64-v8a-*.apk - name: Upload Aritfact (armeabi-v7a) uses: actions/upload-artifact@v7 if: ${{ success() }} with: name: CMFA Debug Unsigned APK (armeabi-v7a) path: | app/build/outputs/apk/alpha/release/*-armeabi-v7a-*.apk - name: Upload Aritfact (x86_64) uses: actions/upload-artifact@v7 if: ${{ success() }} with: name: CMFA Debug Unsigned APK (x86_64) path: | app/build/outputs/apk/alpha/release/*-x86_64-*.apk - name: Upload Aritfact (x86) uses: actions/upload-artifact@v7 if: ${{ success() }} with: name: CMFA Debug Unsigned APK (x86) path: | app/build/outputs/apk/alpha/release/*-x86-*.apk