Vadim
a918f067f8
Merge branch 'main' of https://github.com/vodemn/m3_lightmeter into feature/ML-196
2024-11-17 09:37:45 +01:00
Vadim
4e5cbc7759
Include generated release notes in builds ( #194 )
...
* create release notes from workflow input
* temp disable releases
* force builds
* include release notes in builds
* enabled releases
2024-10-08 19:53:15 +02:00
Vadim
b9c4796a7a
Returned release notes input to release workflow ( #193 )
2024-10-07 20:26:29 +02:00
Vadim
9100ae3066
Build Android using macos-latest
runner ( #186 )
...
* build apk with latest macos runner
2024-07-28 18:52:44 +02:00
Vadim
881778b313
Show release notes after update ( #178 )
...
* replace generated release notes with pre-built assets
* implemented release notes dialog
* store release notes for version
* show release notes dialog after update
* added release notes dialog to settings
* allow blank values in settings
* updated release notes
2024-05-22 22:46:46 +02:00
Vadim
ec1f1eeeb4
Fixed release creation workflow
2024-04-19 17:03:45 +02:00
Vadim
d9ce47e0dd
Show release version instead of "Version bump"
2024-04-15 18:27:56 +02:00
Vadim
d5f28ee5a4
ML-166 Fixed golden tests run on CI ( #168 )
...
* stub iap for goldens workflow
* typo
* Updated goldens
* don't push iap stub when updating goldens
* Update pubspec.yaml
* try explicit fonts
* Updated goldens
* set explicit font weights
* disable font smoothing
* run goldens on macos
* typo
* removed defaults from goldens workflow
* run pr check on macos-14
* removed smoothening reset
* Delete run_golden_tests.yml
* deleted fonts folder
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-12 10:43:19 +02:00
Vadim
27d56d1061
ML-166 Golden tests ( #167 )
...
* setup golden toolkit
* implemented `GoldenTestApplicationMock`
* added devices with dark theme
* implemented MeteringScreen golden test
* moved platform channel logic to app mock
* implemented SettingsScreen golden test
* gitignore golden tests failures
* Create dart_test.yaml
* adjusted `RulerSlider` ticks height
* set master screenshots
* run golden tests on ci
* fixed `LightSensorService` tests
* removed golden workflow call from PR check
* Update pr_check.yml
2024-04-12 08:07:20 +02:00
Vadim
bfd0bfe531
ML-108 First exposure metering seems to be wrong ( #163 )
...
* use latest `camera_android_camerax`
* fixed trailing commas
* moved ci/cd to 3.13.9
* removed focus & exposure fix
* fixed camera not being initialized on Android
* removed unused import
2024-04-06 19:14:37 +02:00
Vadim
d6c4240646
ML-157 Improve CI/CD ( #162 )
...
* Update README.md
* Set exact Flutter version for workflows
* Added stub `DefaultFirebaseOptions`
* Fixed `rm`
* Removed `rm`
* Update .gitignore
* Added readable name to ci workflow
* Build -> Development
* Update ci.yml
* Extract merged native libraries
* More descriptive run name
* Delete no longer used artifacts
* Replaced "Build ..." flow with "Create release"
* renamed other flows
* try using script for iap stub
* typo
* typo
* typo
* removed working dir
* added comment to stub_iap.sh
* checkout first
* increment build number by script
* Update increment_build_number.sh
* fixed iap repo
* stub
* updated stub script to work with tags
* depend on step conclusion
* check PR number
* run integration tests before build
* reuse Build Android workflow
* added stage backend option
* reuse Build iOS workflow
* temporeraly skip release jobs
* [ios] use distribution profile for release builds
* temporary skip tests
* typo
* checkout actions
* incremented macos runner version
* Restore GoogleService-Info.plist
* Restore firebase_app_id_file.json
* style
* separated android and ios builds
* fixed invalid workflow
* simplified release workflow tree
* fixed android keystore path
* enabled integration tests
* added option to skip integration tests
* fixed android folders...
* enabled releases
* increment build number for ios
* upload ipa to app store
* test ipa upload
* typo
* try to force ipa upload
* removed flavor from ipa artefact name
* try manual ipa upload
* switched to ubuntu for upload
* decode to repo
* Update create_release.yml
* auth with username + password
* reverted temporary settings
* typo
* disable pre-release integration tests by default
* fixed integration tests
* increased integration tests timeout
* delete ipa after upload
* delete all artifacts after the run
* fixed integration tests
* reduce integration tests timeout
2024-03-17 20:04:27 +01:00
Vadim
7787558713
ML-160 Integration tests ( #161 )
...
* test granting and revoking pro features
* extracted common widget tester actions
* test disabling & enabling of the metering screen layout features
* added integration tests to CI
* added integration tests to PR check
* allow matrix jobs to fail
* use base64 -d
* downgraded iphone version to the supported one
* use proper android device name
* typo in macos version
* upgraded iphone version to the supported one
* updated android compileSdkVersion
* added google services json restoration
* combined all tests in one file
* removed ipa signing for ios test
* debug prints :)
* lints
* refined tester extension and expectations
* e2e test (wip)
* added more expectations to e2e test
* changed pickers order a bit in e2e test
* added equipment profiles creation to e2e test
* added film selection to e2e test
* set android emulator API level to 32
* use flutter drive for integration tests
* removed app pre-build
* try running tests only for one platform
* added no-dds to flutter drive
* try running only on ios
* bumped macos version
* increased tests timeout
* set IPHONEOS_DEPLOYMENT_TARGET = 12.0
* removed prints
* Update Podfile
* restore firebase_app_id_file.json
* Delete run_integration_tests.sh
* run e2e with all tests
* reverted pr-check
2024-03-13 15:34:26 +01:00
Vadim
134af8ad28
ML-141 Prepare iOS release ( #144 )
...
* implemented `MockCameraContainerBloc` to stub camera on simulator
* [iOS] fixed camera preview aspect ratio
* place screenshots in platform-specific folders
* [iOS] updated buildable name
* [iOS] fixed stub image cover fit
* [iOS] implemented screenshots generator for all target devices
* store screenshots in _generated_ folder
* Update .gitignore
* Created "Build Prod .ipa" workflow
* added. certs to .ipa workflow
* test ipa building
* fixed provision cert path
* set provision profile in XCode
* set automatic signing for dev builds
* set ios version in Podfile
* renamed provision file
* renamed provision profile
* fixed cert folder...
* changed provision path
* typo
* typo
* try automatic signing
* use manual profile installation
* added export options
* typo
* increased timeout
* increased ipa timeout
* Update README.md
* typo
* [iOS] separated camera handling logic
* [iOS] fixed vibration
* migrated to http server iap
* [iOS] fixed histogram
* replaced distribution profile with development profile
* removed constants from env to the separate file
* removed duplicate launch schema
* fixed PR check workflow
* [iOS] set `ITSAppUsesNonExemptEncryption` to NO
* [iOS] removed java reference from "Build .ipa" workflow
2024-02-21 12:33:25 +01:00
Vadim
f3b08868be
ML-62 Providers tests + Platform & Application mocks ( #131 )
...
- Fixed test coverage calculation
- Removed `mockito` from the application mock
- Implemented platform channel mocks to mimic incident light metering
- Covered providers with unit tests
- Covered metering screen pickers with widget tests
- Laid foundation for integration tests
2023-10-20 16:12:43 +02:00
Vadim
cc660de0c4
Fixed PR check ( #122 )
...
* updated stub script to work with tags
* depend on step conclusion
* check PR number
2023-09-20 11:58:04 +02:00
Vadim
cc9f162933
ML-107 Films filter ( #118 )
...
* added stub `FilmsProvider`
* moved dialogs to the shared folder
* typo
* separated `EquipmentSettingsSection`
* copy
* `IAPBuilder` -> `IAPListTile`
* moved `Film` to resources repo
* fixed films selection
* untied iso and selected film
* removed film from exposure pairs building
* indicate push/pull
* copy
* Update .gitignore
* fixed extreme exposure pairs reciprocity display
* sync with iap changes
* sync iap stub with iap changes
* added reciprocity description
* added workspace file
* Update .gitignore
2023-09-14 16:59:16 +02:00
Vadim
bf3c8aa7c7
Fixed _Build .apk_ flow
2023-09-02 13:08:58 +02:00
Vadim
da4fcfc857
Fixed IAP stub in workflows ( #110 )
...
* try using script for iap stub
* typo
* typo
* typo
* removed working dir
* added comment to stub_iap.sh
* checkout first
* increment build number by script
* Update increment_build_number.sh
* fixed iap repo
* stub
2023-09-02 12:45:57 +02:00
Vadim
4bb080a144
Implemented IAP & Equipment profiles ( #89 )
...
* added equipment profiles to layout config
* calculate layout height based on `MeteringScreenLayoutFeature`
* Update cd_dev.yml
* Fixed equipment profile tile padding
* import
* `webfactory/ssh-agent`
* Update pubspec.yaml
* fixed `MeteringScreenLayoutConfigJson` tests
* fixed `UserPreferencesService` tests
* reset selected equipment profile when layout feature is disabled
* `IAPProductType.equipment` -> `IAPProductType.paidFeatures`
* updated packages versions
* Update shared_prefs_service.dart
* Fixed & tested exposure pairs list builder
* typo
* typo
* added iap repo stub
* Renamed `EquipmentProfileData` ->`EquipmentProfile`
* Moved `EquipmentProfileProvider` to iap repo
* Update README.md
* Fixed `EquipmentProfileListener`
* Improved `EquipmentProfilesListTile` statuses visualization
* Update README.md
* Update ci.yml
* Post-merge fixes
* typo
* Added workflow checks
* more sophisticated iap icons
* Include IAP by default
* added loader for `IAPProductStatus.pending`
* typo
* Added equipment profiles list placeholder
* typo
* separated `IconPlaceholder`
* improved `buildExposureValues` testing
* cleanup
2023-09-02 10:32:08 +02:00
Vadim
e1c320b804
Replaced user config with github-actions[bot]
2023-08-28 16:01:04 +02:00
Vadim
4917ee8aef
ML-61 Try to automate GP & Github releases via Github Actions ( #103 )
...
* Added option to create separate releases
* Removed branch condition
* Added default values to releases checkboxes
* Removed user fraction
* Remove .md extension for GP release
* More refined releases conditions
* Parse release name
* Create Google Play release name
* Checkout first
* Update create_release.yml
* Increment build number only for GH release
* Release with status `complete`
* typo
2023-08-10 12:42:31 +02: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
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
886188bb9e
ML-95 Live histogram ( #97 )
...
* Added histogram and separated camera view builder
* Added histogram to `MeteringScreenLayoutConfig`
* `ResolutionPreset.medium` -> `ResolutionPreset.low`
* Adjusted histogram paddings
2023-08-06 16:28:20 +02:00
Vadim
1310b78a54
ML-61 Delete artefacts after release creation ( #96 )
...
* Replaced "Build ..." flow with "Create new release"
* Renamed other flows
2023-08-05 21:11:23 +02:00
Vadim
40c670ad30
Updated README Build section ( #94 )
...
* Update README.md
* Set exact Flutter version for workflows
* Added stub `DefaultFirebaseOptions`
* Fixed `rm`
* Removed `rm`
* Update .gitignore
* Added readable name to ci workflow
* Build -> Development
* Update ci.yml
2023-07-25 17:31:01 +02:00
Vadim
ed83540dde
ML-61 Allow pushes from Github Action to protected branch ( #85 )
...
* Replaced zipping action
thedoctor0/zip-release@0.7.1 -> vimtor/action-zip@v1.1
* typo
* recursive: false
* typo
* typo
* debugSymbolLevel 'FULL'
* Update build.gradle
* Version bump
* wip
* wip
* `create-release` job
* removed changelog input
* added `needs`
* Version bump
* typo
* returned to macos-11 runner
* reverted pubspec version
* Version bump
* download artifacts
* Version bump
* extended artifacts path
* Version bump
* added LS
* Version bump
* Version bump
* rename files
* Version bump
* removed ls
* Version bump
* revert version
* typo
* added push to protected branch action
* run push on ubuntu-latest
* added branch name conditions
* Version bump
* typo
* Version bump
2023-06-28 17:53:54 +02:00
Vadim
79d6034894
ML-61 Update version in pubspec & create Github release from GitHub actions ( #84 )
...
* Replaced zipping action
thedoctor0/zip-release@0.7.1 -> vimtor/action-zip@v1.1
* typo
* recursive: false
* typo
* typo
* debugSymbolLevel 'FULL'
* Update build.gradle
* Version bump
* wip
* wip
* `create-release` job
* removed changelog input
* added `needs`
* Version bump
* typo
* returned to macos-11 runner
* reverted pubspec version
* Version bump
* download artifacts
* Version bump
* extended artifacts path
* Version bump
* added LS
* Version bump
* Version bump
* rename files
* Version bump
* removed ls
* Version bump
* revert version
* typo
2023-06-27 12:17:35 +02:00
Vadim
02ece15c5d
ML-61 Try using buildTypes.release.ndk.debugSymbolLevel 'FULL'
( #79 )
...
* Replaced zipping action
thedoctor0/zip-release@0.7.1 -> vimtor/action-zip@v1.1
* typo
* recursive: false
* typo
* typo
* debugSymbolLevel 'FULL'
* Update build.gradle
2023-06-20 14:48:28 +02:00
Vadim
74d0a7101c
ML-62 Bloc's tests ( #78 )
...
* removed redundant `UserPreferencesService` from `MeteringBloc`
* wip
* post-merge fixes
* `MeasureEvent` tests
* `MeasureEvent` tests revision
* `MeasureEvent` tests added timeout
* added stubs for other `MeteringBloc` events
* rewritten `MeteringBloc` logic
* wip
* `IsoChangedEvent` tests
* refined `IsoChangedEvent` tests
* `NdChangedEvent` tests
* `FilmChangedEvent` tests
* `MeteringCommunicationBloc` tests
* added test run to ci
* overriden `==` for `MeasuredState`
* `LuxMeteringEvent` tests
* refined `LuxMeteringEvent` tests
* rename
* wip
* wip
* `InitializeEvent`/`DeinitializeEvent` tests
* clamp minZoomLevel
* fixed `MeteringCommunicationBloc` tests
* wip
* `ZoomChangedEvent` tests
* `ExposureOffsetChangedEvent`/`ExposureOffsetResetEvent` tests
* renamed test groups
* added test coverage script
* improved `CameraContainerBloc` test coverage
* `EquipmentProfileChangedEvent` tests
* verify response vibration
* fixed running all tests
* `MeteringCommunicationBloc` equality tests
* `CameraContainerBloc` equality tests
* removed generated code from coverage
2023-06-20 08:43:49 +02:00
Vadim
4cabd17eb2
ML-51 Added abiFilters ( #57 )
...
* added abiFilters
* CD next try...
2023-05-05 15:02:12 +02:00
Vadim
2f478836ed
Zip merged_native_libs
...
Zip merged_native_libs
Changed actions zipper
Added zip directory to CD
Removed zip directory from CD
2023-05-04 18:19:30 +02:00
Vadim
34ea034e67
Build appbundle & apk
...
Build appbundle & apk
Renamed github workflows
2023-05-04 18:18:21 +02:00
Vadim
6232ad555a
ML-51 Integrate Crashlytics ( #52 )
...
* added crashlytics
* added firebase_options to CD
* Version bump
* added firebase_options to CI
* timeout
2023-05-03 12:45:10 +02:00
Vadim
8a168b1424
Secrets typo
2023-04-09 13:52:57 +03:00
Vadim
0ac24e5d2c
Temporarily removed firebase
2023-04-09 13:35:58 +03:00
Vadim
dc2c33e494
Added google-services.json
to cd
2023-04-05 22:34:06 +03:00
Vadim
6bf059ed4d
ML-42 Implement equipment profiles creating ( #45 )
...
* added Equipment section placeholder
* get iso & nd values from equipment profile
* use photography values from remote repo
* removed equipment section
* wip
* moved `EquipmentProfileProvider` from iap repo
* wip
* moved equipment profiles screen from iap
* improved equipment profiles screen
* mock add/delete
* collapse on expand
* add profile with name
* show selected values count (wip)
* fixed profile update
* cleanup
* Update pubspec.yaml
* made `AnimatedDialogPicker` more generic
* switched to local `Dimens`
* fixed `MeteringTopBarShape`
* rename
* animated `EquipmentProfileContainer`
* added default equipment profile
* change equipment profile name via dialog
* fixed profile selection
* filter equipment profile update/delete
* removed `enabled` param from settings section
* non-null `EquipmentProfile`
* fixed duplicate GlobalKeys
* animated equipment list
* Update ci.yml
* fixed shutter speed anchor issue
* autofocus
* added firebase to project
* save/restore equipment profiles
* unified `SliverList`
* added SSH key to iap repo
* Update ci.yml
* ci recursive submodules
* try full url
* Revert "try full url"
This reverts commit a9b692b60e
.
* restore firebase_options.dart
* changed runner to macos
* restore options earlier
* removed problematic file from analysis :)
* removed launch_app
* textoverflow
* implemented `DialogRangePicker`
* add iap repo to cd
* typo
* added workflow_dispatch to crowdin push
* removed `equipmentProfileValuesCount` from intl
* fr & ru translations
* style
* removed iap
2023-03-30 22:24:18 +03:00
Vadim
6ffd164171
Added workflow_dispatch
to crowdin push
2023-03-30 14:05:37 +03:00
Vadim
7b9f9a91c0
Upload native debug symbols to artifacts ( #43 )
...
* Create cd.yml
* added artifact upload
* fixed jobs sequence
* moved upload to build job
* jobs rename
* keystore
* Update cd.yml
* macos runner
* cd_dev
* Update build.gradle
* Added CD for Prod App Bundle
* Clean up
* removed redundant .apk type from appbundle artifact
* added uploading NDS to artifacts
* override version code
* override version name
* fixed gradle build path
* add version code in gradle
2023-02-23 23:05:02 +03:00
Vadim
1c4e302103
Filter path for translations push
2023-02-19 13:46:33 +03:00
Vadim
f8391454b6
ML-23 Implement migration mechanism for material_lightmeter users ( #38 )
...
* migrate existent keys
* await
* Update cd_dev.yml
* Update cd_dev.yml
* Update cd_dev.yml
* Fixed CD flavor artifact upload
2023-02-17 22:32:25 +03:00
Vadim
9945005008
Merge branch 'main' of https://github.com/vodemn/m3_lightmeter
2023-02-16 00:37:09 +03:00
Vadim
7eacc7d03b
App Bundle CD fix
2023-02-16 00:36:47 +03:00
Vadim
6a05c42ee8
Build signed appbundle ( #36 )
...
* Create cd.yml
* added artifact upload
* fixed jobs sequence
* moved upload to build job
* jobs rename
* keystore
* Update cd.yml
* macos runner
* cd_dev
* Update build.gradle
* Added CD for Prod App Bundle
* Clean up
2023-02-16 00:25:13 +03:00
Vadim
8d1640447f
Build signed apk on tag creation ( #35 )
...
* Create cd.yml
* added artifact upload
* fixed jobs sequence
* moved upload to build job
* jobs rename
* keystore
* Update cd.yml
* macos runner
* cd_dev
* Update build.gradle
2023-02-16 00:16:39 +03:00
Vadim
59e440dfd7
Build apk on tag creation ( #33 )
...
* Create cd.yml
* added artifact upload
* fixed jobs sequence
* moved upload to build job
* jobs rename
2023-02-15 17:34:28 +03:00
Vadim
1372a75d3b
Added cd branch to cd.yml
2023-02-15 14:28:44 +03:00