diff --git a/.github/workflows/build_apk.yml b/.github/workflows/build_apk.yml index 89e431a..6caf335 100644 --- a/.github/workflows/build_apk.yml +++ b/.github/workflows/build_apk.yml @@ -64,6 +64,8 @@ env: BUILD_ARGS: --release --flavor ${{ inputs.flavor }} -t lib/main_${{ inputs.flavor }}.dart BUILD_APK_PATH: build/app/outputs/flutter-apk/app-${{ inputs.flavor }}-release.apk BUILD_AAB_PATH: build/app/outputs/bundle/${{ inputs.flavor }}Release/app-${{ inputs.flavor }}-release.aab + RELEASE_NOTES_ARTIFACT_NAME: release_notes_en_${{ inputs.version }} + RELEASE_NOTES_PATH: "assets/release_notes" jobs: build-android: @@ -109,6 +111,12 @@ jobs: - name: Increment build number & replace version number run: bash ./.github/scripts/increment_build_number.sh ${{ github.event.inputs.version }} + - name: Download release notes + uses: actions/download-artifact@v3 + with: + name: ${{ env.RELEASE_NOTES_ARTIFACT_NAME }} + path: ${{ env.RELEASE_NOTES_PATH }} + - name: Install Flutter uses: subosito/flutter-action@v2 with: diff --git a/.github/workflows/build_ipa.yml b/.github/workflows/build_ipa.yml index 602dd9e..88294ba 100644 --- a/.github/workflows/build_ipa.yml +++ b/.github/workflows/build_ipa.yml @@ -39,6 +39,8 @@ on: env: FLAVOR: "prod" + RELEASE_NOTES_ARTIFACT_NAME: release_notes_en_${{ inputs.version }} + RELEASE_NOTES_PATH: "assets/release_notes" jobs: build: @@ -104,6 +106,12 @@ jobs: - name: Increment build number & replace version number run: bash ./.github/scripts/increment_build_number.sh ${{ github.event.inputs.version }} + - name: Download release notes + uses: actions/download-artifact@v3 + with: + name: ${{ env.RELEASE_NOTES_ARTIFACT_NAME }} + path: ${{ env.RELEASE_NOTES_PATH }} + - name: Install Flutter uses: subosito/flutter-action@v2 with: diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index e784717..ae1ebdc 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -18,12 +18,21 @@ on: description: "Version" required: true type: string + release-notes: + description: "Release notes" + required: true + type: string run-integration-tests: description: "Run integration tests" required: true type: boolean default: true +env: + RELEASE_NOTES_ARTIFACT_NAME: release_notes_en_${{ inputs.version }} + RELEASE_NOTES_FILE: release_notes_en_${{ inputs.version }}.md + RELEASE_NOTES_PATH: "assets/release_notes" + jobs: run-integration-tests: name: Run integration tests @@ -31,9 +40,25 @@ jobs: uses: ./.github/workflows/run_integration_tests.yml secrets: inherit + generate-release-notes: + name: Generate release notes + needs: [run-integration-tests] + if: ${{ always() && !failure() && !cancelled() }} + runs-on: ubuntu-latest + steps: + - name: Generate release notes + run: | + echo ${{ inputs.release-notes }} > ${{ env.RELEASE_NOTES_FILE }} + perl -i -pe 's/\s{1}(-{1})/\n$1/g' ${{ env.RELEASE_NOTES_FILE }} + - name: Upload merged_native_libs.zip to artifacts + uses: actions/upload-artifact@v3 + with: + name: ${{ env.RELEASE_NOTES_ARTIFACT_NAME }} + path: ${{ env.RELEASE_NOTES_FILE }} + build-android: name: Build Android - needs: [run-integration-tests] + needs: [generate-release-notes] if: ${{ always() && !failure() && !cancelled() }} strategy: matrix: @@ -48,7 +73,7 @@ jobs: build-ios: name: Build iOS - needs: [run-integration-tests] + needs: [generate-release-notes] if: ${{ always() && !failure() && !cancelled() }} uses: ./.github/workflows/build_ipa.yml secrets: inherit @@ -59,6 +84,7 @@ jobs: create-github-release: name: Create Github release needs: [build-android, build-ios] + if: ${{ always() && !failure() && !cancelled() }} runs-on: ubuntu-latest permissions: contents: write @@ -70,6 +96,12 @@ jobs: - name: Increment build number & replace version number run: bash ./.github/scripts/increment_build_number.sh ${{ github.event.inputs.version }} + - name: Download release notes + uses: actions/download-artifact@v3 + with: + name: ${{ env.RELEASE_NOTES_ARTIFACT_NAME }} + path: ${{ env.RELEASE_NOTES_PATH }} + - name: Commit changes run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" @@ -97,11 +129,12 @@ jobs: artifacts: "m3_lightmeter.apk" skipIfReleaseExists: true tag: "v${{ github.event.inputs.version }}" - bodyFile: "assets/release_notes/release_notes_en_${{ inputs.version }}.md" + bodyFile: "${{ env.RELEASE_NOTES_PATH }}/${{ env.RELEASE_NOTES_FILE }}" create-google-play-release: name: Create Google Play release needs: [build-android, build-ios] + if: ${{ always() && !failure() && !cancelled() }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -118,9 +151,14 @@ 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: ${{ env.RELEASE_NOTES_ARTIFACT_NAME }} + - name: Move release notes to a folder run: | - mv assets/release_notes/release_notes_en_${{ inputs.version }}.md whatsnew-en-US + mv ${{ env.RELEASE_NOTES_FILE }} whatsnew-en-US mkdir whatsnew mv whatsnew-en-US whatsnew @@ -148,6 +186,7 @@ jobs: upload-to-app-store: name: Upload to App Store needs: [build-android, build-ios] + if: ${{ always() && !failure() && !cancelled() }} runs-on: macos-13 steps: - uses: actions/checkout@v3 @@ -177,4 +216,4 @@ jobs: m3_lightmeter_apk m3_lightmeter_appbundle m3_lightmeter_ipa - whatsnew-en-US + ${{ env.RELEASE_NOTES_ARTIFACT_NAME }} diff --git a/assets/release_notes/release_notes_en_0.21.0.md b/assets/release_notes/release_notes_en_0.21.0.md new file mode 100644 index 0000000..2f4ea8e --- /dev/null +++ b/assets/release_notes/release_notes_en_0.21.0.md @@ -0,0 +1,4 @@ +- Added shutter speed values up to 1/4000. +- Added auto scaling for long values in the exposure pairs list. +- Fixed false purchasable status when offline. +- Fixed a delay when fetching product status on startup. diff --git a/pubspec.yaml b/pubspec.yaml index 04481c2..fb15dfd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: lightmeter description: Lightmeter app inspired by Material 3 design system. publish_to: "none" -version: 0.20.0+51 +version: 0.21.0+53 environment: sdk: ">=3.0.0 <4.0.0"