Compare commits

..

No commits in common. "6e3588a72e9af0e48141f2b80f91285923063b2b" and "d91441bac9ab5bed8abc073521a012b8a95e6ed7" have entirely different histories.

2 changed files with 34 additions and 77 deletions

View file

@ -3,11 +3,6 @@
# separate terms of service, privacy policy, and support
# documentation.
# This workflow uses perl regex. For better syntaxis understading see these docs:
# https://perldoc.perl.org/perlrequick#Search-and-replace
# https://perldoc.perl.org/perlre#Other-Modifiers
name: Create new release
run-name: Release v${{ inputs.version }}
@ -19,10 +14,6 @@ on:
description: "Version"
required: true
type: string
release-notes:
description: "Release notes"
required: true
type: string
env:
BUILD_ARGS: --release --flavor prod --dart-define cameraPreviewAspectRatio=240/320 -t lib/main_prod.dart
@ -31,13 +22,14 @@ jobs:
build:
name: Build .apk & .aab
runs-on: macos-11
timeout-minutes: 30
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-java@v3
- uses: actions/setup-java@v2
with:
distribution: "zulu"
java-version: "11"
@ -103,21 +95,6 @@ jobs:
name: m3_lightmeter_bundle
path: build/app/outputs/bundle/prodRelease/app-prod-release.aab
generate-release-notes:
name: Generate release notes
runs-on: ubuntu-latest
steps:
- name: Generate release notes
run: |
echo ${{ inputs.release-notes }} > whatsnew-en-US.md
perl -i -pe 's/\s{1}(-{1})/\n$1/g' whatsnew-en-US.md
- name: Upload merged_native_libs.zip to artifacts
uses: actions/upload-artifact@v3
with:
name: whatsnew-en-US
path: whatsnew-en-US.md
update-version-in-repo:
name: Update repo version
needs: [build]
@ -144,14 +121,18 @@ jobs:
branch: ${{ github.ref_name }}
unprotect_reviews: true
create-github-release:
create-release:
name: Create Github release
needs: [build, update-version-in-repo]
if: github.ref_name == 'main'
needs: [build, generate-release-notes, update-version-in-repo]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Download apk
uses: actions/download-artifact@v3
with:
@ -160,29 +141,26 @@ jobs:
- name: Rename apk
run: mv app-prod-release.apk m3_lightmeter.apk
- name: Download release notes
uses: actions/download-artifact@v3
with:
name: whatsnew-en-US
- uses: ncipollo/release-action@v1.12.0
with:
artifacts: "m3_lightmeter.apk"
skipIfReleaseExists: true
tag: "v${{ github.event.inputs.version }}"
bodyFile: "whatsnew-en-US.md"
- name: Delete apk artifact
- name: Delete no longer used apk artifact
uses: geekyeggo/delete-artifact@v2
with:
name: m3_lightmeter_apk
create-google-play-release:
name: Create Google Play release
if: github.ref_name == 'main'
needs: [build, generate-release-notes]
extract-merged-native-libs:
name: Extract merged native libraries
needs: [build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Download app bundle
uses: actions/download-artifact@v3
with:
@ -193,54 +171,33 @@ jobs:
unzip app-prod-release.aab
(cd base/lib && zip -r "$OLDPWD/merged_native_libs.zip" .)
- name: Download release notes
uses: actions/download-artifact@v3
with:
name: whatsnew-en-US
- name: Move release notes to a folder
run: |
mkdir whatsnew
mv whatsnew-en-US.md whatsnew
- name: Create Google Play release
id: create-google-play-release-step
uses: r0adkll/upload-google-play@v1.1.1
with:
serviceAccountJsonPlainText: ${{ secrets.GH_ACTIONS_SERVICE_ACCOUNT_JSON }}
packageName: com.vodemn.lightmeter
releaseFiles: app-prod-release.aab
track: production
status: draft
userFraction: 1.0
debugSymbols: merged_native_libs.zip
whatsNewDirectory: whatsnew
# https://docs.github.com/en/actions/learn-github-actions/expressions#failure-with-conditions
- name: Zip app bundle and merged_native_libs
if: ${{ failure() && steps.create-google-play-release-step.conclusion == 'failure' }}
run: zip m3_lightmeter_release.zip app-prod-release.aab merged_native_libs.zip
- name: Upload release zip to artifacts
if: ${{ failure() && steps.create-google-play-release-step.conclusion == 'failure' }}
- name: Upload merged_native_libs.zip to artifacts
uses: actions/upload-artifact@v3
with:
name: m3_lightmeter_release
path: m3_lightmeter_release.zip
- name: Delete app bundle & merged native libs artifacts
if: ${{ always() }}
# TODO: this should be moved to `create-google-play-release` step when it is implemented
- name: Delete no longer used app bundle artifact
uses: geekyeggo/delete-artifact@v2
with:
name: m3_lightmeter_bundle
cleanup:
name: Cleanup
if: ${{ always() }}
needs: [create-github-release, create-google-play-release]
# TODO: Automate Google Play releases creation
create-google-play-release:
if: false
name: Create Google Play release
needs: [build, extract-merged-native-libs]
runs-on: ubuntu-latest
steps:
- name: Delete release notes artifact
uses: geekyeggo/delete-artifact@v2
- uses: actions/checkout@v3
with:
name: whatsnew-en-US
submodules: recursive
- name: Download app bundle
uses: actions/download-artifact@v3
with:
name: m3_lightmeter_bundle

View file

@ -1,7 +1,7 @@
name: lightmeter
description: A new Flutter project.
publish_to: "none"
version: 0.13.1+37
version: 0.13.0+36
environment:
sdk: ">=3.0.0 <4.0.0"