diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 00000000..7d8bbb02 --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,87 @@ +name: Android CI + +on: + push: + branches: [ "github-action" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle +# +# - name: Run a one-line script +# run: echo Hello, world! +# +# - name: Run a multi-line script +# run: | +# echo Add other actions to build, +# echo test, and deploy your project. + + - name: Cache Gradle packages + uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/buildSrc/**/*.kt') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Access DEV_BASE_URL + run: | + echo DEV_BASE_URL=\"DEV_BASE_URL\" > local.properties + echo PROD_BASE_URL=\"PROD_BASE_URL\" >> local.properties + shell: bash + env: + DEV_BASE_URL: ${{ secrets.DEV_BASE_URL }} + PROD_BASE_URL: ${ secrets.PROD_BASE_URL }} + + - name: Build clean + run: ./gradlew clean + + # - name: Run ktlint + # run: ./gradlew ktlintCheck + # + # - name: Run detekt + # run: ./gradlew detekt + + - name: Build assemble debug apk + run: ./gradlew assembleDebug --stacktrace + +# - name: Build assemble release apk +# run: ./gradlew assembleRelease --stacktrace + + - name: Upload Debug APK + uses: actions/upload-artifact@v3 + with: + name: debug + path: ./app/build/outputs/apk/debug/app-debug.apk + +# - name: Upload Release APK +# uses: actions/upload-artifact@v3 +# with: +# name: release +# path: ./app/build/outputs/apk/release/app-release-unsigned.apk +# +# - name: Upload apk to Firebase App Distribution +# uses: wzieba/Firebase-Distribution-Github-Action@v1 +# with: +# appId: ${{ secrets.FIREBASE_APP_ID }} +# serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }} +# groups: testers +# file: app/build/outputs/apk/release/app-release-unsigned.apk +