Skip to content
This repository has been archived by the owner on Nov 11, 2023. It is now read-only.

feature(#192): integrated with only a release ci... #1

feature(#192): integrated with only a release ci...

feature(#192): integrated with only a release ci... #1

Workflow file for this run

name: Android Release
env:
main_project_module: app
on:
push:
paths:
- "Android/**"
tags:
- '*'
workflow_dispatch:
jobs:
build-android:
permissions: write-all
runs-on: ubuntu-latest
defaults:
run:
working-directory: Android
steps:
- uses: actions/checkout@v3
# Set Current Date As Env Variable
- name: Set current date as env variable
run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
# Set Repository Name As Env Variable
- name: Set repository name as env variable
run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
- name: set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
cache: gradle
- name: Create file
run: cat /home/runner/work/Brain/Brain/Android/app/google-services.json | base64
- name: Putting data
env:
DATA: ${{ secrets.GOOGLE_SERVICES_JSON }}
run: echo $DATA > /home/runner/work/Brain/Brain/Android/app/google-services.json
- name: Grant execute permission for gradlew
run: chmod +x gradlew
# Run Tests Build
- name: Run gradle tests
run: ./gradlew test
- name: Build with Gradle
run: ./gradlew build
- name: Archive lint results
if: always()
uses: actions/upload-artifact@v3
with:
name: lint-report
path: app/build/reports/lint-results-debug.html
# Create APK Debug
- name: Build apk debug project (APK) - ${{ env.main_project_module }} module
run: ./gradlew assembleDebug
# Create APK Release
- name: Build apk release project (APK) - ${{ env.main_project_module }} module
run: ./gradlew assemble
# Create Bundle AAB Release
# Noted for main module build [main_project_module]:bundleRelease
- name: Build app bundle release (AAB) - ${{ env.main_project_module }} module
run: ./gradlew ${{ env.main_project_module }}:bundleRelease
# Upload Artifact Build
# Noted For Output [main_project_module]/build/outputs/apk/debug/
- name: Upload APK Debug - ${{ env.repository_name }}
uses: actions/upload-artifact@v2
with:
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated
path: ${{ env.main_project_module }}/build/outputs/apk/debug/
# Noted For Output [main_project_module]/build/outputs/apk/release/
- name: Upload APK Release - ${{ env.repository_name }}
uses: actions/upload-artifact@v2
with:
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated
path: ${{ env.main_project_module }}/build/outputs/apk/release/
# Noted For Output [main_project_module]/build/outputs/bundle/release/
- name: Upload AAB (App Bundle) Release - ${{ env.repository_name }}
uses: actions/upload-artifact@v2
with:
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated
path: ${{ env.main_project_module }}/build/outputs/bundle/release/
chrome-extension-build:
permissions: write-all
runs-on: ubuntu-latest
defaults:
run:
working-directory: Extension
steps:
- uses: actions/checkout@v3
# Set Current Date As Env Variable
- name: Set current date as env variable
run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
# Set Repository Name As Env Variable
- name: Set repository name as env variable
run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
- name: Use Node.
uses: actions/[email protected]
with:
node-version: 16
- name: Create file
run: |
mkdir ./src/configs
cat > /home/runner/work/Brain/Brain/Extension/src/configs/firebase-config.json
- name: Putting data
env:
DATA: ${{ secrets.FIREBASE_CONFIGS }}
run: echo $DATA > /home/runner/work/Brain/Brain/Extension/src/configs/firebase-config.json
- name: Install Dependencies
run: npm ci
- name: Build
run: |
npm run build
ls zip/
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: ${{ env.date_today }} - ${{ env.repository_name }} - Chrome Extension release generated
path: Extension/zip/
release:
needs: [build-android]
permissions: write-all
runs-on: ubuntu-latest
steps:
- name: Download All Artifacts
uses: actions/download-artifact@v3
- 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 }}
draft: false
prerelease: false
- name: Upload Android Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: Android/${{ env.main_project_module }}/build/outputs/apk/debug/app-debug.apk # Update this with the correct APK path
asset_name: app-release-unsigned.apk
asset_content_type: application/vnd.android.package-archive
- name: Upload Chrome Extension Release
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: Extension/zip/rising-browser-1.0.0.zip
asset_name: chrome-extension.zip
asset_content_type: application/zip