Indicate difference threshold for finish time #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |