name: Build on: workflow_dispatch: push: branches: [ "master" ] tags: [ "*" ] pull_request: branches: [ "master" ] jobs: build: runs-on: ubuntu-latest permissions: contents: write steps: - name: Extract tag name if: startsWith(github.ref, 'refs/tags/') run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV - name: Set up environment variables run: | echo "GPR_USER=${{ secrets.GHUB_USER || github.actor }}" >> $GITHUB_ENV echo "GPR_KEY=${{ secrets.GHUB_TOKEN || secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV echo "KEY_ALIAS=${{ secrets.KEY_ALIAS }}" >> $GITHUB_ENV echo "KEY_PASSWORD=${{ secrets.KEY_PASSWORD }}" >> $GITHUB_ENV echo "KEYSTORE_PASSWORD=${{ secrets.KEYSTORE_PASSWORD }}" >> $GITHUB_ENV echo "KEYSTORE_BASE64=${{ secrets.KEYSTORE_BASE64 }}" >> $GITHUB_ENV echo "BUILD_NUMBER=${{ github.run_number }}" >> $GITHUB_ENV echo "BASE_URL=${{ secrets.BASE_URL || '"https://github.com/timklge/karoo-powerbar/releases/latest/download"' }}" >> $GITHUB_ENV - uses: actions/checkout@v4 - name: set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: gradle - name: Setup Android SDK uses: android-actions/setup-android@v3 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew build - name: Archive APK uses: actions/upload-artifact@v4 with: name: app-release path: app/build/outputs/apk/release/app-release.apk - name: Create Release id: create_release uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: name: ${{ github.ref_name }} draft: false generate_release_notes: true make_latest: true files: | app/build/outputs/apk/release/app-release.apk app/manifest.json app/karoo-reminder.png reminder.png detail.png list.png env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}