Do some work on the workflows

This commit is contained in:
Jobobby04 2020-10-09 13:19:51 -04:00
parent a9279fbb2e
commit 883af56a9a
2 changed files with 63 additions and 26 deletions

View File

@ -7,34 +7,42 @@ on:
repository_dispatch: repository_dispatch:
jobs: jobs:
ping-pong: check_wrapper:
name: Validate Gradle Wrapper
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@master - name: Clone repo
with: uses: actions/checkout@v2
fetch-depth: '0'
- name: Set CISKIP flag to false - name: Validate Gradle Wrapper
run: echo ::set-env name=CISKIP::'false' uses: gradle/wrapper-validation-action@v1
- name: Set CISKIP flag if action has ci skip
if: contains(github.event.action, 'skip-ci') || contains(github.event.action, 'skip-ci') || contains(github.event.action, 'skip ci') || contains(github.event.action, 'ci skip') || contains(github.event.action, 'ci-skip') preview:
run: echo ::set-env name=CISKIP::'true' name: Build app preview
- name: Exho needs: check_wrapper
run: echo env.CISKIP if: "!startsWith(github.event.head_commit.message, '[SKIP CI]')"
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v2
- name: TAG - Bump version and push tag - name: TAG - Bump version and push tag
uses: anothrNick/github-tag-action@1.17.2 uses: anothrNick/github-tag-action@1.17.2
if: github.event.action != 'pong' && env.CISKIP == 'false'
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WITH_V: true WITH_V: true
RELEASE_BRANCHES: master RELEASE_BRANCHES: master
DEFAULT_BUMP: patch DEFAULT_BUMP: patch
- name: PING - Dispatch initiating repository event - name: PING - Dispatch initiating repository event
if: github.event.action != 'pong' && env.CISKIP == 'false'
run: | run: |
curl -X POST https://api.github.com/repos/jobobby04/TachiyomiSYPreview/dispatches \ curl -X POST https://api.github.com/repos/jobobby04/TachiyomiSYPreview/dispatches \
-H 'Accept: application/vnd.github.everest-preview+json' \ -H 'Accept: application/vnd.github.everest-preview+json' \
-u ${{ secrets.ACCESS_TOKEN }} \ -u ${{ secrets.ACCESS_TOKEN }} \
--data '{"event_type": "ping", "client_payload": { "repository": "'"$GITHUB_REPOSITORY"'" }}' --data '{"event_type": "ping", "client_payload": { "repository": "'"$GITHUB_REPOSITORY"'" }}'
- name: ACK - Acknowledge pong from remote repository - name: ACK - Acknowledge pong from remote repository
if: github.event.action == 'pong' if: github.event.action == 'pong'
run: | run: |

View File

@ -6,22 +6,42 @@ on:
- 'release' - 'release'
jobs: jobs:
apk: check_wrapper:
name: Validate Gradle Wrapper
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v1 - name: Clone repo
uses: actions/checkout@v2
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
build:
name: Build app release
needs: check_wrapper
if: "!startsWith(github.event.head_commit.message, '[SKIP CI]')"
runs-on: ubuntu-latest
steps:
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.5.0
with:
access_token: ${{ github.token }}
- name: Clone repo
uses: actions/checkout@v2
- name: Set up JDK 1.8 - name: Set up JDK 1.8
uses: actions/setup-java@v1 uses: actions/setup-java@v1
with: with:
java-version: 1.8 java-version: 1.8
- name: Get NDK
run: sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;21.0.6113669" - name: Copy CI gradle.properties
- name: Cache Gradle packages run: |
uses: actions/cache@v2 mkdir -p ~/.gradle
with: cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Write google-services.json - name: Write google-services.json
uses: DamianReeves/write-file-action@v1.0 uses: DamianReeves/write-file-action@v1.0
with: with:
@ -31,8 +51,15 @@ jobs:
contents: ${{ secrets.GOOGLE_SERVICES_TEXT }} contents: ${{ secrets.GOOGLE_SERVICES_TEXT }}
# The mode of writing to use: `overwrite`, `append`, or `preserve`. # The mode of writing to use: `overwrite`, `append`, or `preserve`.
write-mode: overwrite # optional, default is preserve write-mode: overwrite # optional, default is preserve
- name: Build Release APK
run: bash ./gradlew assembleRelease --stacktrace - name: Build app
uses: eskatos/gradle-command-action@v1
with:
arguments: assembleRelease --stacktrace
wrapper-cache-enabled: true
dependencies-cache-enabled: true
configuration-cache-enabled: true
- name: Sign Android Release - name: Sign Android Release
uses: r0adkll/sign-android-release@v1 uses: r0adkll/sign-android-release@v1
with: with:
@ -46,6 +73,7 @@ jobs:
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
# The password for the key # The password for the key
keyPassword: ${{ secrets.KEY_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Create Release - name: Create Release
id: create_release id: create_release
uses: actions/create-release@v1 uses: actions/create-release@v1
@ -56,6 +84,7 @@ jobs:
release_name: TachiyomiSY release_name: TachiyomiSY
draft: true draft: true
prerelease: false prerelease: false
- name: Upload Release APK - name: Upload Release APK
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
@ -64,4 +93,4 @@ jobs:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ env.SIGNED_RELEASE_FILE }} asset_path: ${{ env.SIGNED_RELEASE_FILE }}
asset_name: TachiyomiSY.apk asset_name: TachiyomiSY.apk
asset_content_type: application/vnd.android.package-archive asset_content_type: application/vnd.android.package-archive