diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f066836 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,53 @@ +name: Build and Release APK + +on: + push: + branches: + - main + - master + - v2 + +jobs: + build-and-release: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + + - name: Make gradlew executable + run: chmod +x ./gradlew + + - name: Run Unit Tests + run: ./gradlew test + + - name: Build Debug APK + run: ./gradlew assembleDebug + + - name: Get Short SHA + id: vars + run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_ENV + + - name: Rename APK + run: | + mv app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/debug/esp32-aldl-dashboard-${{ env.short_sha }}.apk + + - name: Create Gitea Release + uses: softprops/action-gh-release@v2 + with: + tag_name: "build-${{ env.short_sha }}" + name: "Build ${{ env.short_sha }}" + files: app/build/outputs/apk/debug/esp32-aldl-dashboard-${{ env.short_sha }}.apk + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}