diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml new file mode 100644 index 0000000..7771848 --- /dev/null +++ b/.github/workflows/build-and-release.yml @@ -0,0 +1,58 @@ +name: Build and Release + +on: + push: + branches: + - master + tags: + - "v*" + +jobs: + apk: + name: Generate APK + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2.4.0 + - name: Setup JDK + uses: actions/setup-java@v2.5.0 + with: + distribution: temurin + java-version: "11" + - name: Set execution flag for gradlew + run: chmod +x gradlew + - name: Build APK + run: bash ./gradlew assembleDebug --stacktrace + - name: Upload APK + uses: actions/upload-artifact@v1 + with: + name: apk + path: app/build/outputs/apk/debug/app-debug.apk + + release: + name: Release APK + needs: apk + runs-on: ubuntu-latest + steps: + - name: Download APK from build + uses: actions/download-artifact@v1 + with: + name: apk + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.run_number }} + release_name: ${{ github.event.repository.name }} v${{ github.run_number }} + - name: Upload Release APK + id: upload_release_asset + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: apk/app-debug.apk + asset_name: ${{ github.event.repository.name }}.apk + asset_content_type: application/zip