Skip to content

v2.2.0

v2.2.0 #241

Workflow file for this run

name: my_pesa
on:
push:
tags:
- "v*"
branches:
- main
pull_request:
branches:
- main
jobs:
test:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
min_coverage: 25
flutter_channel: stable
# Creates Issues from comments
create_issues:
runs-on: "ubuntu-latest"
if: ${{ github.event_name == 'push' }}
steps:
- uses: actions/checkout@v2
- name: TODO to Issue
uses: alstr/todo-to-issue-action@v4.6.3
publish-android:
# Only Run on tags
if: startsWith(github.ref, 'refs/tags/')
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: "zulu"
java-version: "17"
- uses: subosito/flutter-action@v2
with:
channel: "stable" # or: 'beta' or 'master'
cache: true
cache-key: flutter-android # optional, change this to force refresh cache
cache-path: ${{ runner.tool_cache }}/flutter-android # optional, change this to specify the cache path
- run: flutter pub get
- run: flutter test
# Setup Keystore ANDROID_KEYSTORE=(openssl base64 -A -in my.keystore > base64)
- name: Setup Keystore
shell: bash
env:
ANDROID_KEYSTORE: ${{secrets.ANDROID_KEYSTORE}}
KEYSTORE_PASSWORD: ${{secrets.KEYSTORE_PASSWORD}}
ALIAS_NAME: ${{secrets.ALIAS_NAME}}
KEY_PASSWORD: ${{secrets.KEY_PASSWORD}}
run: |
sh ./.github/workflows/scripts/setup_keystore.sh
# Build
- name: Build APK
run: flutter build apk --flavor production -t ./lib/main_production.dart
- name: Build AppBundle
run: flutter build appbundle --flavor production -t ./lib/main_production.dart
- name: Publish
uses: softprops/action-gh-release@v1
with:
files: |
build/app/outputs/bundle/productionRelease/app-production-release.aab
build/app/outputs/flutter-apk/app-production-release.apk
publish-macos:
if: startsWith(github.ref, 'refs/tags/')
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
architecture: x64
channel: "stable" # or: 'beta' or 'master'
cache: true
cache-key: flutter-mac # optional, change this to force refresh cache
cache-path: ${{ runner.tool_cache }}/flutter-mac # optional, change this to specify the cache path
- run: flutter config --enable-macos-desktop
- name: Build MacOS
run: flutter build macos -t ./lib/main_production.dart
- name: Move
run: |
mkdir ./build/macos/Build/Products/Release/dist/
mv ./build/macos/Build/Products/Release/my_pesa.app/ ./build/macos/Build/Products/Release/dist
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: "zip"
filename: myPesa-${{github.ref_name}}-macos.zip
directory: build/macos/Build/Products/Release/dist
- name: Publish
uses: softprops/action-gh-release@v1
with:
files: |
build/macos/Build/Products/Release/myPesa-${{github.ref_name}}-macos.zip
publish-linux:
if: ${{ false }} # startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: "stable" # or: 'beta' or 'master'
cache: true
cache-key: flutter-linux # optional, change this to force refresh cache
cache-path: ${{ runner.tool_cache }}/flutter-linux # optional, change this to specify the cache path
- run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev
- run: flutter config --enable-linux-desktop
- name: Build Linux
run: flutter build linux --flavor production -t ./lib/main_production.dart