Skip to content

Indicate difference threshold for finish time #1

Indicate difference threshold for finish time

Indicate difference threshold for finish time #1

name: Flutter TAG
on:
push:
tags:
- '*.*.*'
jobs:
build:
name: Test, build and release APK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '17'
- uses: subosito/flutter-action@v2
with:
channel: 'stable' # or: 'beta', 'dev' or 'master'
cache: true
- name: Get tag name
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Get signing key
run: echo $SIGNING_KEY | base64 -d > android/app/key.jks
env:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
- run: flutter --version
- name: Install dependencies
run: flutter pub get
- name: Generate with build_runner
run: flutter pub run build_runner build --delete-conflicting-outputs
- name: Analyze project source
run: flutter analyze
- name: Run tests and collect coverage
run: flutter test --coverage test/
- name: Clean coverage
run: |
sudo apt-get -y install lcov
lcov -r coverage/lcov.info -o coverage/lcov.info "lib/**.freezed.dart" "lib/**.g.dart" "lib/src/common/localization/**.dart" "test/**.mocks.dart"
- name: Upload to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: Build APK
run: flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi
env:
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
ALIAS: ${{ secrets.ALIAS }}
KEY_PATH: key.jks
- name: Rename APK
run: |
cp build/app/outputs/apk/release/app-armeabi-v7a-release.apk build/app/outputs/apk/release/entime-${{ env.RELEASE_VERSION }}-armeabi-v7a.apk
cp build/app/outputs/apk/release/app-arm64-v8a-release.apk build/app/outputs/apk/release/entime-${{ env.RELEASE_VERSION }}-arm64-v8a.apk
cp build/app/outputs/apk/release/app-x86_64-release.apk build/app/outputs/apk/release/entime-${{ env.RELEASE_VERSION }}-x86_64.apk
- name: Create a release
uses: ncipollo/release-action@v1
with:
artifacts: "build/app/outputs/apk/release/entime*.apk"
# token: ${{ secrets.TOKEN }}