185 lines
4.1 KiB
YAML
185 lines
4.1 KiB
YAML
name: Build
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
|
|
build:
|
|
name: 🔨 Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
- name: Set up JDK 11
|
|
uses: actions/setup-java@v1
|
|
with:
|
|
java-version: '11'
|
|
|
|
|
|
- name: Build with gradle
|
|
run: ./gradlew build --stacktrace
|
|
|
|
- name: Run Testts
|
|
run: ./gradlew test
|
|
|
|
- name: Build Project
|
|
run: ./gradlew assemble
|
|
|
|
lint-check:
|
|
name: 🔍 Lint
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Lint check
|
|
run: ./gradlew lint
|
|
|
|
- name: Generate lint report
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: lint_report.html
|
|
path: app/build/reports/lint-results-debug.html
|
|
|
|
unit-tests:
|
|
name: 🧪 Unit Tests
|
|
needs: [ lint-check ]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Execute unit tests
|
|
run: ./gradlew test --stacktrace
|
|
|
|
- name: Generate test report
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: unit_tests_report.html
|
|
path: app/build/reports/tests/testDebugUnitTest/
|
|
|
|
# generate-apk:
|
|
# name: ⚙️Generate APK
|
|
# needs: [ build, lint-check, unit-tests ]
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
#
|
|
# - name: Checkout code
|
|
# uses: actions/checkout@v2
|
|
#
|
|
# - name: Set up JDK 11
|
|
# uses: actions/setup-java@v1
|
|
# with:
|
|
# java-version: '11'
|
|
#
|
|
# - name: Build debug apk
|
|
# run: ./gradlew assembleDebug --stacktrace
|
|
#
|
|
# - name: Upload debug apk
|
|
# uses: actions/upload-artifact@v1
|
|
# with:
|
|
# name: Yummy
|
|
# path: app/build/outputs/apk/debug/app-debug.apk
|
|
|
|
# create-release:
|
|
# name: 🎉 Create Release
|
|
# needs: [ generate-apk ]
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
#
|
|
# - name: Download APK from build
|
|
# uses: actions/download-artifact@v1
|
|
# with:
|
|
# name: Yummy
|
|
#
|
|
# - name: Create Release
|
|
# id: create_release
|
|
# uses: actions/create-release@v1
|
|
# env:
|
|
# GITHUB_TOKEN: ${{ secrets.S_GITHUB_TOKEN }}
|
|
# with:
|
|
# tag_name: ${{ github.ref }}
|
|
# release_name: Release ${{ github.ref }}
|
|
#
|
|
# - name: Upload Release APK
|
|
# id: upload_release_asset
|
|
# uses: actions/upload-release-asset@v1.0.1
|
|
# env:
|
|
# GITHUB_TOKEN: ${{ secrets.S_GITHUB_TOKEN }}
|
|
# with:
|
|
# upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
# asset_path: Yummy/app-debug.apk
|
|
# asset_name: Yummy.apk
|
|
# asset_content_type: application/zip
|
|
# allowUpdates: true
|
|
|
|
# firebase-deploy:
|
|
# name: 📨 Deploy to Firebase App Distribution
|
|
# needs: [ generate-apk ]
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - name: Checkout Code
|
|
# uses: actions/checkout@v1
|
|
#
|
|
# - name: Download APK from build
|
|
# uses: actions/download-artifact@v1
|
|
# with:
|
|
# name: Yummy
|
|
#
|
|
# - name: Upload Artifact to Firebase App Distribution
|
|
# uses: wzieba/Firebase-Distribution-Github-Action@v1
|
|
# with:
|
|
# appId: ${{secrets.FIREBASE_APP_ID}}
|
|
# token: ${{secrets.FIREBASE_TOKEN}}
|
|
# groups: Testers
|
|
# file: Yummy/app-debug.apk
|
|
#
|
|
# playstore-deploy:
|
|
# name: 🚀 Deploy to Play Store
|
|
# needs: [ generate-apk ]
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - name: Checkout Code
|
|
# uses: actions/checkout@v1
|
|
|
|
# send-message:
|
|
# name: 📢 Send Message
|
|
# needs: [ create-release, firebase-deploy, playstore-deploy ]
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - name: Checkout Code
|
|
# uses: actions/checkout@v1
|
|
|
|
#name: Android Build
|
|
#
|
|
#on: pull_request
|
|
#
|
|
#jobs:
|
|
# build:
|
|
#
|
|
# runs-on: ubuntu-latest
|
|
#
|
|
# steps:
|
|
# - uses: actions/checkout@v1
|
|
#
|
|
# - name: Set Up JDK
|
|
# uses: actions/setup-java@v1
|
|
# with:
|
|
# java-version: 11
|
|
#
|
|
# - name: Run Tests
|
|
# run: ./gradlew test
|
|
#
|
|
# - name: Build Project
|
|
# run: ./gradlew assemble
|
|
#
|
|
#
|