diff --git a/.github/workflows/build-dev.yml b/.github/workflows/build-dev.yml new file mode 100644 index 0000000..1fb0b6e --- /dev/null +++ b/.github/workflows/build-dev.yml @@ -0,0 +1,77 @@ +name: Minimal Android CI Workflow + +on: + push: + branches: + - dev + tags: + - 'v*' + +jobs: + test: + name: Run Unit Tests + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v1 + + - name: Setup JDK + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + - name: Run Tests + run: bash ./gradlew test --stacktrace + + apk: + name: Generate APK + needs: test + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v1 + + - name: Setup JDK + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - 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 + if: startsWith(github.ref, 'refs/tags/v') + 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.ref }} + release_name: Release ${{ github.ref }} + prerelease: true + + - 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: MensaApp.apk + asset_content_type: application/zip