1616 name : Check spotless
1717 runs-on : ubuntu-latest
1818 steps :
19- - uses : actions/checkout@v4
19+ - uses : actions/checkout@v6
2020 - name : Set up JDK 17
21- uses : actions/setup-java@v4
21+ uses : actions/setup-java@v5
2222 with :
2323 distribution : " temurin"
2424 java-version : 17
@@ -28,20 +28,20 @@ jobs:
2828 ndk-version : r28c
2929 link-to-sdk : true
3030 local-cache : true
31+ - name : Setup Gradle
32+ uses : gradle/actions/setup-gradle@v6
3133 - name : Check formatting using spotless
32- uses : gradle/actions/setup-gradle@v3
33- with :
34- arguments : spotlessCheck
34+ run : ./gradlew spotlessCheck
3535
3636 build :
3737 name : Build debug, Jacoco test and publish to codacy
3838 runs-on : ubuntu-latest
3939 steps :
40- - uses : actions/checkout@v4
40+ - uses : actions/checkout@v6
4141 with :
4242 fetch-depth : 0
4343 - name : Set up JDK 17
44- uses : actions/setup-java@v4
44+ uses : actions/setup-java@v5
4545 with :
4646 distribution : " temurin"
4747 java-version : 17
5050 with :
5151 toolchain : stable
5252 - name : Cache Rust dependencies
53- uses : actions/cache@v4
53+ uses : actions/cache@v5
5454 with :
5555 path : |
5656 ~/.cargo/bin/
@@ -78,14 +78,12 @@ jobs:
7878 echo "❌ .cargo/config.toml missing"
7979 exit 1
8080 fi
81+ - name : Setup Gradle
82+ uses : gradle/actions/setup-gradle@v6
8183 - name : Build with Gradle
82- uses : gradle/actions/setup-gradle@v3
83- with :
84- arguments : assembledebug
84+ run : ./gradlew assembledebug
8585 - name : Run test cases
86- uses : gradle/actions/setup-gradle@v3
87- with :
88- arguments : jacocoTestPlayDebugUnitTestReport
86+ run : ./gradlew jacocoTestPlayDebugUnitTestReport
8987 - name : Publish test cases
9088 run : |
9189 export CODACY_PROJECT_TOKEN=${{ secrets.CODACY_TOKEN }}
@@ -109,21 +107,52 @@ jobs:
109107 api-level : [ 21, 28 ]
110108 steps :
111109 - name : checkout
112- uses : actions/checkout@v4
110+ uses : actions/checkout@v6
113111 - name : Java 17
114- uses : actions/setup-java@v4
112+ uses : actions/setup-java@v5
115113 with :
116114 distribution : " temurin"
117115 java-version : 17
116+ - name : Install Rust
117+ uses : dtolnay/rust-toolchain@stable
118+ with :
119+ toolchain : stable
120+ - name : Cache Rust dependencies
121+ uses : actions/cache@v5
122+ with :
123+ path : |
124+ ~/.cargo/bin/
125+ ~/.cargo/registry/index/
126+ ~/.cargo/registry/cache/
127+ ~/.cargo/git/db/
128+ file_operations/target/
129+ key : ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
130+ restore-keys : |
131+ ${{ runner.os }}-cargo-
132+ - name : Setup Rust for Android
133+ run : |
134+ cd file_operations
135+ chmod +x setup_rust_android.sh
136+ ./setup_rust_android.sh
137+ - name : Verify Rust setup
138+ run : |
139+ cd file_operations
140+ echo "🔍 Verifying Rust Android targets..."
141+ rustup target list --installed | grep android || echo "No Android targets found"
142+ echo "🔍 Verifying cargo configuration..."
143+ if [ -f .cargo/config.toml ]; then
144+ echo "✅ .cargo/config.toml exists"
145+ else
146+ echo "❌ .cargo/config.toml missing"
147+ exit 1
148+ fi
118149 - name : Enable KVM
119150 run : |
120151 echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
121152 sudo udevadm control --reload-rules
122153 sudo udevadm trigger --name-match=kvm
123- - name : Gradle cache
124- uses : gradle/actions/setup-gradle@v3
125154 - name : AVD cache
126- uses : actions/cache@v4
155+ uses : actions/cache@v5
127156 id : avd-cache
128157 with :
129158 path : |
0 commit comments