Skip to content

Commit

Permalink
feat: Add github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
doananhtuan22111996 committed Aug 29, 2024
1 parent 9a32c7a commit 5b393f6
Show file tree
Hide file tree
Showing 5 changed files with 126 additions and 2 deletions.
70 changes: 70 additions & 0 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Dev CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Note: This workflow uses the latest stable version of the Dart SDK.
# You can specify other versions if desired, see documentation here:
# https://github.com/dart-lang/setup-dart/blob/main/README.md
# - uses: dart-lang/setup-dart@v1
- uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle

- name: Setup project
run: |
echo "Accept permision..."
make denied
echo "Install bootstrap..."
make pre-bootstrap
echo "Pub get..."
make gh-pub-get
- name: Setup env
env:
ENV: ${{ secrets.ROOT_KEYSTORE_DEV }}
ROOT_KEYSTORE_DEV: ${{ secrets.ROOT_KEYSTORE_DEV }}
run: |
cd app/android && echo -n ${ROOT_KEYSTORE_DEV} | base64 -d > root-keystore-dev.jks
cd ../../configs && echo -n ${ENV} | base64 -d > .env.zip && jar xf .env.zip
- name: Build Release apk
run: make gh-build-android-apk flavor=dev

- name: Build Release bundle
run: make gh-build-android-aab flavor=dev

- name: Get release file aab path
id: releaseAab
run: echo "aabfile=$(find app/build/app/outputs/flutter-apk/app-dev-release.aab)" >> $GITHUB_OUTPUT

- name: Get release file apk path
id: releaseApk
run: echo "apkfile=$(find app/build/app/outputs/flutter-apk/app-dev-release.apk)" >> $GITHUB_OUTPUT

- name: Zip Files
uses: papeloto/action-zip@v1
with:
files: ${{ steps.releaseAab.outputs.aabfile }} ${{ steps.releaseApk.outputs.apkfile }}
dest: app-dev-release.zip

- name: Sending release build to Telegram
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
document: app-dev-release.zip
message: 🚀 New Release Published on DEV! >>> ${{github.head_ref}}.
24 changes: 24 additions & 0 deletions .github/workflows/notifier.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Notifier

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:
name: Sent telegram message
runs-on: ubuntu-latest
steps:
- name: send telegram message on push
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
${{ github.actor }} created commit:
Branch: ${{github.head_ref}}
Commit message: ${{ github.event.commits[0].message }}
Repository: ${{ github.repository }}
See changes: https://github.com/${{ github.repository }}/commit/${{github.sha}}
2 changes: 1 addition & 1 deletion app/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ dev_dependencies:
# rules and activating additional ones.
flutter_lints: 4.0.0
build_runner: 2.4.11
flutter_gen_runner: 5.6.0
# flutter_gen_runner: 5.6.0

#flutter_gen:
# assets:
Expand Down
6 changes: 6 additions & 0 deletions app/web/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@










Expand Down Expand Up @@ -185,6 +189,8 @@








Expand Down
26 changes: 25 additions & 1 deletion makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ denied:
cd scripts && chmod +x pre-bootstrap.sh

pre-bootstrap:
cd scripts && ./pre-bootstrap.sh
cd scripts && sh pre-bootstrap.sh
fvm install 3.22.3
fvm use 3.22.3 --force
fvm flutter --version
Expand Down Expand Up @@ -40,3 +40,27 @@ build-android-aab:

create-env:
@melos create-env

############################################ Github Action #########################################

gh-pub-get:
fvm flutter pub global run melos clean --sdk-path=.fvm/flutter_sdk
fvm flutter pub global run melos bootstrap --sdk-path=.fvm/flutter_sdk
fvm flutter pub global run melos gen-app-icon
fvm flutter pub global run melos gen-app-splash
fvm flutter pub global run melos build-domain
fvm flutter pub global run melos build-data
fvm flutter pub global run melos build-resources
fvm flutter pub global run melos gen-strings

gh-build-ios:
fvm flutter pub global run melos gen-env $(flavor)
dart run scripts/build_app.dart $(flavor) ipa $(buildName) $(buildNumber)

gh-build-android-apk:
fvm flutter pub global run melos gen-env $(flavor)
dart run scripts/build_app.dart $(flavor) apk $(buildName) $(buildNumber)

gh-build-android-aab:
fvm flutter pub global run melos gen-env $(flavor)
dart run scripts/build_app.dart $(flavor) aab $(buildName) $(buildNumber)

0 comments on commit 5b393f6

Please sign in to comment.