Compare commits

...

16 commits

Author SHA1 Message Date
Vadim
738460b7bf Removed user fraction 2023-08-09 18:22:07 +02:00
Vadim
407d1a5891 Added default values to releases checkboxes 2023-08-09 18:06:00 +02:00
Vadim
5c02488d64 Removed branch condition 2023-08-09 17:29:14 +02:00
Vadim
62cddc1f38 Added option to create separate releases 2023-08-09 17:28:10 +02:00
Vadim
75599ea5df Merge remote-tracking branch 'origin' into feature/ML-61 2023-08-09 17:24:31 +02:00
vodemn
6e3588a72e Version bump 2023-08-09 15:20:00 +00:00
Vadim
dafbc68288 Increased build job timeout 2023-08-09 17:06:47 +02:00
Vadim
bdb0442dd1 Fixed release jobs dependencies 2023-08-09 16:49:02 +02:00
Vadim
d41fa6fa84
ML-61 Download each artifact separately (#102)
* Download each artifact separately

* typo

* Updated setup-java action

* Extract merged native libs directly in GP release job
2023-08-09 16:39:41 +02:00
Vadim
966a3c676c Extract merged native libs directly in GP release job 2023-08-09 16:35:19 +02:00
Vadim
4231506c48 Updated setup-java action 2023-08-09 16:29:43 +02:00
Vadim
f8b060c2b8 typo 2023-08-09 16:18:30 +02:00
Vadim
b5786da4cf Merge remote-tracking branch 'origin' into feature/ML-61 2023-08-09 16:18:00 +02:00
Vadim
69b67d3bb4 Download each artifact separately 2023-08-09 16:12:35 +02:00
Vadim
b9412c7441
ML-61 Create Google Play release from Github actions (#101)
* Delete all artefacts after GP release

* Update create_release.yml

* Added release notes formatting

* Preserve release zip if GP release creation failed

* Create whatsnew folder
2023-08-09 12:24:12 +02:00
Vadim
82942c09e5 Create whatsnew folder 2023-08-09 12:15:01 +02:00
2 changed files with 37 additions and 34 deletions

View file

@ -23,6 +23,14 @@ on:
description: "Release notes" description: "Release notes"
required: true required: true
type: string type: string
github-release-release:
type: boolean
description: Create Github release
default: true
google-play-release:
type: boolean
description: Create Google Play release
default: true
env: env:
BUILD_ARGS: --release --flavor prod --dart-define cameraPreviewAspectRatio=240/320 -t lib/main_prod.dart BUILD_ARGS: --release --flavor prod --dart-define cameraPreviewAspectRatio=240/320 -t lib/main_prod.dart
@ -30,14 +38,15 @@ env:
jobs: jobs:
build: build:
name: Build .apk & .aab name: Build .apk & .aab
if: ${{ inputs.github-release-release }} || ${{ inputs.google-play-release }}
runs-on: macos-11 runs-on: macos-11
timeout-minutes: 15 timeout-minutes: 30
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
submodules: recursive submodules: recursive
- uses: actions/setup-java@v2 - uses: actions/setup-java@v3
with: with:
distribution: "zulu" distribution: "zulu"
java-version: "11" java-version: "11"
@ -120,6 +129,7 @@ jobs:
update-version-in-repo: update-version-in-repo:
name: Update repo version name: Update repo version
if: ${{ inputs.github-release-release }}
needs: [build] needs: [build]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -146,22 +156,25 @@ jobs:
create-github-release: create-github-release:
name: Create Github release name: Create Github release
if: github.ref_name == 'main' if: ${{ inputs.github-release-release }}
needs: [generate-release-notes, update-version-in-repo] needs: [build, generate-release-notes, update-version-in-repo]
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: write contents: write
steps: steps:
- name: Download apk & release notes - name: Download apk
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: | name: m3_lightmeter_apk
m3_lightmeter_apk
whatsnew-en-US
- name: Rename apk - name: Rename apk
run: mv app-prod-release.apk m3_lightmeter.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 - uses: ncipollo/release-action@v1.12.0
with: with:
artifacts: "m3_lightmeter.apk" artifacts: "m3_lightmeter.apk"
@ -174,9 +187,10 @@ jobs:
with: with:
name: m3_lightmeter_apk name: m3_lightmeter_apk
extract-merged-native-libs: create-google-play-release:
name: Extract merged native libraries name: Create Google Play release
needs: [build] if: ${{ inputs.google-play-release }}
needs: [build, generate-release-notes]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Download app bundle - name: Download app bundle
@ -189,27 +203,16 @@ jobs:
unzip app-prod-release.aab unzip app-prod-release.aab
(cd base/lib && zip -r "$OLDPWD/merged_native_libs.zip" .) (cd base/lib && zip -r "$OLDPWD/merged_native_libs.zip" .)
- name: Upload merged native libs to artifacts - name: Download release notes
uses: actions/upload-artifact@v3
with:
name: merged_native_libs
path: merged_native_libs.zip
create-google-play-release:
name: Create Google Play release
if: github.ref_name == 'main'
needs: [generate-release-notes, extract-merged-native-libs]
runs-on: ubuntu-latest
steps:
- name: Download app bundle & merged native libs
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: | name: whatsnew-en-US
m3_lightmeter_bundle
merged_native_libs - name: Move release notes to a folder
whatsnew-en-US run: |
mkdir whatsnew
mv whatsnew-en-US.md whatsnew
# TODO: create whatsnew folder and move release notes there
- name: Create Google Play release - name: Create Google Play release
id: create-google-play-release-step id: create-google-play-release-step
uses: r0adkll/upload-google-play@v1.1.1 uses: r0adkll/upload-google-play@v1.1.1
@ -219,10 +222,10 @@ jobs:
releaseFiles: app-prod-release.aab releaseFiles: app-prod-release.aab
track: production track: production
status: draft status: draft
userFraction: 1.0
debugSymbols: merged_native_libs.zip debugSymbols: merged_native_libs.zip
whatsNewDirectory: whatsnew whatsNewDirectory: whatsnew
# https://docs.github.com/en/actions/learn-github-actions/expressions#failure-with-conditions
- name: Zip app bundle and merged_native_libs - name: Zip app bundle and merged_native_libs
if: ${{ failure() && steps.create-google-play-release-step.conclusion == 'failure' }} if: ${{ failure() && steps.create-google-play-release-step.conclusion == 'failure' }}
run: zip m3_lightmeter_release.zip app-prod-release.aab merged_native_libs.zip run: zip m3_lightmeter_release.zip app-prod-release.aab merged_native_libs.zip
@ -235,14 +238,14 @@ jobs:
path: m3_lightmeter_release.zip path: m3_lightmeter_release.zip
- name: Delete app bundle & merged native libs artifacts - name: Delete app bundle & merged native libs artifacts
if: ${{ always() }}
uses: geekyeggo/delete-artifact@v2 uses: geekyeggo/delete-artifact@v2
with: with:
name: | name: m3_lightmeter_bundle
m3_lightmeter_bundle
merged_native_libs
cleanup: cleanup:
name: Cleanup name: Cleanup
if: ${{ always() }}
needs: [create-github-release, create-google-play-release] needs: [create-github-release, create-google-play-release]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

View file

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