Sanmill/.github/workflows/flutter.yml

76 lines
2.3 KiB
YAML

name: Flutter
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
# Note that this workflow uses the latest stable version of the Dart SDK.
# Docker images for other release channels - like dev and beta - are also
# available. See https://hub.docker.com/r/google/dart/ for the available
# images.
#container:
# image: google/dart:latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: '12.x'
- run: echo $SIGNING_KEY | base64 -d > src/ui/flutter_app/android/app/key.jks
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
- uses: subosito/flutter-action@v1
with:
channel: 'stable' # or: 'dev' or 'beta'
- name: Export environment valiables
run: export
- name: Create App version
run: git fetch --tags; git tag; git log -n1; bash -x ./version.sh
- name: Print Flutter SDK version
run: flutter --version
- name: Install dependencies
run: bash -x ./flutter-init.sh
# Uncomment this step to verify the use of 'dart format' on each commit.
# - name: Verify formatting
# run: dart format --output=none --set-exit-if-changed .
# Your project will need to have tests in test/ and a dependency on
# package:test for this step to succeed. Note that Flutter projects will
# want to change this to 'flutter test'.
#- name: Run tests
# run: dart test
# Build
- name: Build apk
run: cd src/ui/flutter_app; flutter build apk -v; flutter build appbundle -v
env:
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
ALIAS: ${{ secrets.ALIAS }}
KEY_PATH: key.jks
# Archive apk
- name: Archive apk
uses: actions/upload-artifact@v2
with:
name: sanmill-flutter-apk-release
path: src/ui/flutter_app/build/app/outputs/flutter-apk/app-release.apk
# Archive aab
- name: Archive aab
uses: actions/upload-artifact@v2
with:
name: sanmill-flutter-aab-release
path: src/ui/flutter_app/build/app/outputs/bundle/release/app-release.aab