Skip to content

v8 #یوسف_قبادی #10

v8 #یوسف_قبادی

v8 #یوسف_قبادی #10

Workflow file for this run

name: Android
on:
push:
branches: [main]
pull_request:
schedule:
- cron: "0 3 * * *"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- name: Setup JDK
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5
with:
distribution: temurin
java-version: "26"
- name: Setup Go
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
with:
go-version: "1.26.4"
cache-dependency-path: |
tun2socks/go.mod
tun2socks/go.sum
- name: Setup Android SDK
uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407 # v3
- name: Install native build tools
run: |
sdkmanager "platforms;android-37" "ndk;30.0.14904198"
go install golang.org/x/mobile/cmd/gomobile@v0.0.0-20260611195102-4dd8f1dbf5d2
- name: Setup Gradle
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
- name: Quality Gates
run: |
./gradlew \
verifyCorePins \
spotlessCheck \
:app:assembleDebug \
:app:lintDebug \
:app:check \
:app:cyclonedxDirectBom \
--warning-mode all \
--no-daemon
instrumentation:
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- name: Setup JDK
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5
with:
distribution: temurin
java-version: "26"
- name: Setup Go
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
with:
go-version: "1.26.4"
- name: Setup Android SDK
uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407 # v3
- name: Setup Gradle
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
- name: Install Android SDK packages
run: |
sdkmanager --install \
"platform-tools" \
"emulator" \
"platforms;android-37" \
"system-images;android-35;google_apis;x86_64" \
"ndk;30.0.14904198"
- name: Install gomobile
run: go install golang.org/x/mobile/cmd/gomobile@v0.0.0-20260611195102-4dd8f1dbf5d2
- name: Accept Android SDK licenses
run: yes | sdkmanager --licenses
- name: Instrumentation tests
uses: reactivecircus/android-emulator-runner@e89f39f1abbbd05b1113a29cf4db69e7540cae5a # v2
with:
api-level: 35
target: google_apis
arch: x86_64
disable-animations: true
script: ./gradlew :app:connectedDebugAndroidTest --warning-mode all --no-daemon
version_audit:
if: github.event_name == 'schedule'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- name: Setup JDK
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5
with:
distribution: temurin
java-version: "26"
- name: Setup Android SDK
uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407 # v3
- name: Setup Gradle
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5
- name: Version audit (fail on outdated)
run: |
./gradlew versionAuditFail --no-daemon
- name: Native upstream drift audit
run: |
./gradlew verifyCoreUpstreamDrift --no-daemon