github: update workflows to use gradle-cache-action

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-10-01 14:14:36 +05:30
parent 1e4a57408e
commit 28bdbbbcce
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
4 changed files with 9 additions and 132 deletions

23
.github/checksum.sh vendored
View file

@ -1,23 +0,0 @@
#!/usr/bin/env bash
RESULT_FILE=$1
if [ -f $RESULT_FILE ]; then
rm $RESULT_FILE
fi
touch $RESULT_FILE
checksum_file() {
echo $(sha256sum $1 | awk '{print $1}')
}
FILES=()
while read -r -d ''; do
FILES+=("$REPLY")
done < <(find . -type f \( -name "build.gradle*" -o -name "dependencies.gradle" -o -name "gradle-wrapper.properties" \) -print0)
# Loop through files and append MD5 to result file
for FILE in ${FILES[@]}; do
echo $(checksum_file $FILE) >> $RESULT_FILE
done
# Now sort the file so that it is
sort $RESULT_FILE -o $RESULT_FILE

View file

@ -20,40 +20,12 @@ jobs:
- name: Copy CI gradle.properties - name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Generate cache key
run: ./.github/checksum.sh checksum.txt
- name: Cache gradle modules
uses: actions/cache@v2
with:
path: ~/.gradle/caches/modules-2
key: ${{ runner.os }}-gradlemodules-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlemodules-
- name: Cache gradle jars
uses: actions/cache@v2
with:
path: ~/.gradle/caches/jars-3
key: ${{ runner.os }}-gradlejars-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlejars-
- name: Cache gradle build
uses: actions/cache@v2
with:
path: ~/.gradle/caches/build-cache-1
key: ${{ runner.os }}-gradlebuildcache-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlebuildcache-
- name: Download gradle dependencies
run: ./gradlew dependencies
- name: Build release app - name: Build release app
run: ./gradlew :app:assembleFreeRelease :app:assembleNonFreeRelease uses: burrunan/gradle-cache-action@v1
env: env:
SNAPSHOT: "true" SNAPSHOT: "true"
with:
arguments: :app:assembleFreeRelease :app:assembleNonFreeRelease
- name: Clean secrets - name: Clean secrets
run: release/signing-cleanup.sh run: release/signing-cleanup.sh
@ -66,18 +38,3 @@ jobs:
SERVER_ADDRESS: ${{ secrets.SERVER_ADDRESS }} SERVER_ADDRESS: ${{ secrets.SERVER_ADDRESS }}
SERVER_DESTINATION: ${{ secrets.SERVER_DESTINATION }} SERVER_DESTINATION: ${{ secrets.SERVER_DESTINATION }}
SSH_PORT: ${{ secrets.SSH_PORT }} SSH_PORT: ${{ secrets.SSH_PORT }}
- name: Install NodeJS
uses: actions/setup-node@v2-beta
with:
node-version: '12'
- name: Install cfcli
run: npm install -g cloudflare-cli
- name: Purge Cloudflare cache
run: |
cfcli --token ${CF_TOKEN} purge "https://dl.msfjarvis.dev/APS/$(cd ./app/build/outputs/apk/nonFree/release/; ls *.apk)"
cfcli --token ${CF_TOKEN} purge "https://dl.msfjarvis.dev/APS/$(cd ./app/build/outputs/apk/free/release/; ls *.apk)"
env:
CF_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}

View file

@ -33,40 +33,11 @@ jobs:
if: ${{ steps.service-changed.outputs.result == 'true' }} if: ${{ steps.service-changed.outputs.result == 'true' }}
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Generate cache key
if: ${{ steps.service-changed.outputs.result == 'true' }}
run: ./.github/checksum.sh checksum.txt
- name: Cache gradle modules
if: ${{ steps.service-changed.outputs.result == 'true' }}
uses: actions/cache@v2
with:
path: ~/.gradle/caches/modules-2
key: ${{ runner.os }}-gradlemodules-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlemodules-
- name: Cache gradle jars
if: ${{ steps.service-changed.outputs.result == 'true' }}
uses: actions/cache@v2
with:
path: ~/.gradle/caches/jars-3
key: ${{ runner.os }}-gradlejars-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlejars-
- name: Cache gradle build
if: ${{ steps.service-changed.outputs.result == 'true' }}
uses: actions/cache@v2
with:
path: ~/.gradle/caches/build-cache-1
key: ${{ runner.os }}-gradlebuildcache-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlebuildcache-
- name: Run unit tests - name: Run unit tests
if: ${{ steps.service-changed.outputs.result == 'true' }} if: ${{ steps.service-changed.outputs.result == 'true' }}
run: ./gradlew testFreeDebug lintFreeDebug uses: burrunan/gradle-cache-action@v1
with:
arguments: testFreeDebug lintFreeDebug
- name: Run instrumentation tests - name: Run instrumentation tests
if: ${{ steps.service-changed.outputs.result == 'true' }} if: ${{ steps.service-changed.outputs.result == 'true' }}

View file

@ -20,38 +20,10 @@ jobs:
- name: Copy CI gradle.properties - name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Generate cache key
run: ./.github/checksum.sh checksum.txt
- name: Cache gradle modules
uses: actions/cache@v2
with:
path: ~/.gradle/caches/modules-2
key: ${{ runner.os }}-gradlemodules-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlemodules-
- name: Cache gradle jars
uses: actions/cache@v2
with:
path: ~/.gradle/caches/jars-3
key: ${{ runner.os }}-gradlejars-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlejars-
- name: Cache gradle build
uses: actions/cache@v2
with:
path: ~/.gradle/caches/build-cache-1
key: ${{ runner.os }}-gradlebuildcache-${{ hashFiles('checksum.txt') }}
restore-keys: |
${{ runner.os }}-gradlebuildcache-
- name: Download gradle dependencies
run: ./gradlew dependencies
- name: Build release binaries - name: Build release binaries
run: ./gradlew :app:assembleFreeRelease :app:assembleNonFreeRelease :app:bundleNonFreeRelease uses: burrunan/gradle-cache-action@v1
with:
arguments: :app:assembleFreeRelease :app:assembleNonFreeRelease :app:bundleNonFreeRelease
- name: Upload non-free release APK - name: Upload non-free release APK
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2