From 2a6968d508e96d818f7609cea57a38cd0502b3ad Mon Sep 17 00:00:00 2001 From: triggermeelmo Date: Mon, 12 Jan 2026 16:04:59 +0100 Subject: [PATCH] Pipeline --- .gitea/workflows/build-and-release.yml | 81 ++++++++++++++++++++++++++ app/build.gradle.kts | 6 +- 2 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 .gitea/workflows/build-and-release.yml diff --git a/.gitea/workflows/build-and-release.yml b/.gitea/workflows/build-and-release.yml new file mode 100644 index 0000000..9b60155 --- /dev/null +++ b/.gitea/workflows/build-and-release.yml @@ -0,0 +1,81 @@ +name: Watcher-Mobile APK Build + +on: + pull_request: + branches: [main] + release: + types: [published] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses actions/checkout@v4 + + - name: Set up JDK 25 + uses: actions/setup-java@v4 + with: + java-version: '25' + distribution: 'temurin' + cache: gradle + + - name: Grant execute permissions for gradlew + run: chmod +x gradlew + + - name: Run Tests + run: ./gradlew test + + - name: Run Lint + run: ./gradlew lint + + - name: Build Debug APK + run: ./gradlew assembleDebug + + - name: Upload Debug APK as Artifact + uses: actions/upload-artifact@v4 + with: + name: app-debug + path: app/build/outputs/apk/debug/app-debug.apk + + release: + runs-on: ubuntu-latest + if: github.event_name == 'release' + needs: build + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Set up JDK 25 + uses: actions/setup-java@v4 + with: + java-version: '25' + distribution: 'temurin' + cache: gradle + + - name: Build Release APK + run: | + chmod +x gradlew + ./gradlew assembleRelease + env: + KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} + KEY_ALIAS: ${{ secrets.KEY_ALIAS }} + KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} + + - name: Get Release Version + id: version + run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + + - name: Rename APK + run: | + mv app/build/outputs/apk/release/app-release.apk \ + app/build/outputs/apk/release/app-${{ steps.version.outputs.VERSION }}.apk + + - name: Upload APK to Release + uses: softprops/action-gh-release@v1 + with: + files: app/build/outputs/apk/release/app-${{ steps.version.outputs.VERSION }}.apk + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 57b964d..b3b0c44 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -38,12 +38,12 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_25 + targetCompatibility = JavaVersion.VERSION_25 } kotlinOptions { - jvmTarget = "17" + jvmTarget = "25" } buildFeatures { -- 2.49.1