From fdd670bf44bc4f78ed9a1bdc70dc8e5fdb96ce28 Mon Sep 17 00:00:00 2001 From: Walter Huf Date: Sun, 21 Jan 2024 09:12:05 -0800 Subject: [PATCH] Build Gestalt variant --- .../download-externals-action/action.yml | 7 ++ .../download-externals-action/download.sh | 7 ++ .github/workflows/build_commit.yaml | 78 +++++++++++++++++-- .github/workflows/build_pull_request.yaml | 38 +++++++-- README.md | 4 +- app/build.gradle | 2 +- 6 files changed, 122 insertions(+), 14 deletions(-) create mode 100644 .github/actions/download-externals-action/action.yml create mode 100755 .github/actions/download-externals-action/download.sh diff --git a/.github/actions/download-externals-action/action.yml b/.github/actions/download-externals-action/action.yml new file mode 100644 index 000000000..b9da75d13 --- /dev/null +++ b/.github/actions/download-externals-action/action.yml @@ -0,0 +1,7 @@ +name: "Download Build Dependencies" +description: "Downloads external dependencies to build AndroidAutoIdrive" +runs: + using: "composite" + steps: + - run: ${{ github.action_path }}/download.sh + shell: bash diff --git a/.github/actions/download-externals-action/download.sh b/.github/actions/download-externals-action/download.sh new file mode 100755 index 000000000..16c924c60 --- /dev/null +++ b/.github/actions/download-externals-action/download.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -x + +[ -e 'external/BMW_Connected_Classic_v1.8_(usa_160214_1142)_apkpure.com.apk' ] || +wget --quiet -P external 'https://bimmergestalt.s3.amazonaws.com/aaidrive/external/BMW_Connected_Classic_v1.8_(usa_160214_1142)_apkpure.com.apk' +[ -e 'external/MINI_Connected_Classic_v1.1.3_(usa_160214_448)_apkpure.com.apk' ] || +wget --quiet -P external 'https://bimmergestalt.s3.amazonaws.com/aaidrive/external/MINI_Connected_Classic_v1.1.3_(usa_160214_448)_apkpure.com.apk' diff --git a/.github/workflows/build_commit.yaml b/.github/workflows/build_commit.yaml index 9e2cb2fe9..6e0b47a27 100644 --- a/.github/workflows/build_commit.yaml +++ b/.github/workflows/build_commit.yaml @@ -2,6 +2,27 @@ name: "Build Commit" on: push jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3.3.0 + - uses: actions/setup-java@v3.10.0 + with: + distribution: temurin + java-version: 17 + + - name: Prepare cached external dependencies + uses: actions/cache@v3 + with: + key: readyougestalt_external_${{ hashFiles('.github/actions/download-externals-action/download.sh') }} + path: | + external + - name: Download build dependencies + uses: ./.github/actions/download-externals-action + + - uses: gradle/gradle-build-action@v2.4.2 + - run: gradle testGestaltReleaseUnitTest + build: runs-on: ubuntu-latest steps: @@ -11,14 +32,59 @@ jobs: distribution: temurin java-version: 17 + - name: Prepare cached external dependencies + uses: actions/cache@v3 + with: + key: readyougestalt_external_${{ hashFiles('.github/actions/download-externals-action/download.sh') }} + path: | + external + - name: Download build dependencies + uses: ./.github/actions/download-externals-action + - uses: gradle/gradle-build-action@v2.4.2 - - run: gradle assembleRelease + - run: gradle assembleGestaltRelease - uses: actions/upload-artifact@v3.1.1 with: - name: github-${{ github.sha }} - path: app/build/outputs/apk/github/release/*.apk - - uses: actions/upload-artifact@v3 + name: gestalt-${{ github.sha }} + path: app/build/outputs/apk/gestalt/release/*.apk + + release: + if: github.ref == 'refs/heads/gestalt' + needs: build + runs-on: ubuntu-latest + steps: + - name: Checkout the project + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Delete previous release + uses: dev-drprasad/delete-older-releases@v0.2.1 + with: + keep_latest: 0 + delete_tag_pattern: latest_build + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Update the latest_build tag + run: | + git config user.name 'github-actions[bot]' + git config user.email '41898282+github-actions[bot]@users.noreply.github.com' + git tag -f -m "Latest Build" latest_build + git push -f origin latest_build + + - name: Download project artifacts + uses: actions/download-artifact@v3 + with: + name: gestalt-${{ github.sha }} + - name: Stage upload directory + run: | + mkdir dist + cp *apk dist/ + - name: Upload to Github releases + uses: svenstaro/upload-release-action@v2 with: - name: fdroid-${{ github.sha }} - path: app/build/outputs/apk/fdroid/release/*.apk + tag: latest_build + repo_token: ${{ secrets.GITHUB_TOKEN }} + file_glob: true + file: dist/* + overwrite: true diff --git a/.github/workflows/build_pull_request.yaml b/.github/workflows/build_pull_request.yaml index 442423199..485bb217d 100644 --- a/.github/workflows/build_pull_request.yaml +++ b/.github/workflows/build_pull_request.yaml @@ -2,6 +2,27 @@ name: "Build Pull Request" on: pull_request jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3.3.0 + - uses: actions/setup-java@v3.10.0 + with: + distribution: temurin + java-version: 17 + + - name: Prepare cached external dependencies + uses: actions/cache@v3 + with: + key: readyougestalt_external_${{ hashFiles('.github/actions/download-externals-action/download.sh') }} + path: | + external + - name: Download build dependencies + uses: ./.github/actions/download-externals-action + + - uses: gradle/gradle-build-action@v2.4.2 + - run: gradle testGestaltReleaseUnitTest + build: runs-on: ubuntu-latest steps: @@ -11,14 +32,19 @@ jobs: distribution: temurin java-version: 17 + - name: Prepare cached external dependencies + uses: actions/cache@v3 + with: + key: readyougestalt_external_${{ hashFiles('.github/actions/download-externals-action/download.sh') }} + path: | + external + - name: Download build dependencies + uses: ./.github/actions/download-externals-action + - uses: gradle/gradle-build-action@v2.4.2 - run: gradle assembleRelease - uses: actions/upload-artifact@v3.1.1 with: - name: github-${{ github.sha }} - path: app/build/outputs/apk/github/release/*.apk - - uses: actions/upload-artifact@v3 - with: - name: fdroid-${{ github.sha }} - path: app/build/outputs/apk/fdroid/release/*.apk + name: gestalt-${{ github.sha }} + path: app/build/outputs/apk/gestalt/release/*.apk diff --git a/README.md b/README.md index 8b76b0ed0..0f3986794 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@

Read You

-

An Android RSS reader presented in Material You style.

+

An Android RSS reader presented in Material You style, with BMW/Mini app support.

English  |   Deutsch  |   简体中文  |   @@ -73,6 +73,8 @@ The following are the progress made so far and the goals to be worked on in the - [ ] Feedbin - [ ] ... +If an [AAIdrive](https://github.com/BimmerGestalt/AAIdrive)-compatible car is connected, then ReadYou will be added as a News icon to the ConnectedDrive interface in the car. + ## Download [Get it on GitHub](https://github.com/Ashinch/ReadYou/releases) diff --git a/app/build.gradle b/app/build.gradle index 863f530f4..57225edc1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -71,7 +71,7 @@ android { } applicationVariants.all { variant -> variant.outputs.each { output -> - output.outputFileName = "ReadYou-${defaultConfig.versionName}-${gitCommitHash}.apk" + output.outputFileName = "ReadYou-${variant.flavorName}-${defaultConfig.versionName}-${gitCommitHash}.apk" } } kotlinOptions {