Skip to content
This repository has been archived by the owner on Jan 19, 2024. It is now read-only.

Commit

Permalink
Update from origin/master (#3)
Browse files Browse the repository at this point in the history
* style: Update detekt (Flank#1000)

* Inital update of detekt

* Detekt upgrade and yml modifications

* Finialize detekt and some minor code changes

* update release notes

* feat: Implement command `models describe` for ios/android (Flank#995)

* feat: auto generate release notes for next release (Flank#996)

* Added generation of release notes

* added tests

* updated documentation

* Delete next release notes

* fix: failing tests (Flank#1007)

* fix: failing tests

* Update DumpShardsKtTest.kt

* feat: Implement ip-blocks list command (Flank#999)

* fix: generation of release notes (Flank#1005)

* feat: Add ip-blocks command to test-environment command (Flank#1012)

* ci: Generate release notes for Github release description (Flank#1011)

* Generate release notes for GitHub release description

* updated documentation

* Create .mergify.yml

* Generating docs before release (Flank#1013)

* ci: Update mergify configuration (Flank#1015)

* Flank#1008 Update mergify configuration to make rebase before merge

* Post a message when Pr bad PR title

* fix: rate limit exceeded (Flank#919)

* Add pseudocode for flank v20.06.2 poll matrices

* Add pseudocode for flank v20.06.2 matrix finish

* Update table & add conclusions.

* Calculate TestOutcome from environments or steps [DRAFT]

TODO:
* Calculate billable minutes
* Fix tests

* Update implementation

* Fix detect issues

* Fix SavedMatrixTest

* Fix UtilsTest

* Fix MockServer

* Fix MatrixMapTest & SavedMatrixTest

* Update summary_output.md

* Update summary_output.md

* Update release_notes.md

* Adjust implementation for summary result of all devices

* Remove old implementation & clean

* Fix NPE

* Update test_runner/src/main/kotlin/ftl/reports/outcome/TestOutcomeContext.kt

Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* CR fixes

* Fix typo
* Fix double negation
* Remove unused `notErrors`

TODO
* map BadMatrixError error to proper error code

* Update release_notes.md

* Make BadMatrixError be properly handled as error code 15

* Fix indention
* Fix DumpShardsKtTest is not calling MockServer
* Fix CreateJUnitTestSuiteKtTest

* Fix nullability

Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* Fetch artifacts async (Flank#1018)

* Make release notes more organized (Flank#1020)

* chore: release notes for v20.08.2

Co-authored-by: piotradamczyk5 <piotradamczyk5@users.noreply.github.com>

* ci: Publish to GitHub packages (Flank#1022)

* Flank#955 Publish to GitHub packages

* updated README.md

* fix: Release notes message at GitHub release (Flank#1023)

* fix: Release notes message at GitHub release

* fixed detekt

* Update kotlin to v1.4 (Flank#1025)

* Fix otherNativeCrash NPE (Flank#1027)

* ci: Disable publishing snapshot to Github Packages (Flank#1031)

* [Automatic PR] Generate release notes (Flank#1032)

Co-authored-by: jan-gogo <jan-gogo@users.noreply.github.com>

* refactor: Savedmatrix immutability change (Flank#1028)

* Saved matrix refactor 1.0

* Saved matrix bug fixes 1.0

* Recursion error fix

* Fixed failing tests

* Fixed github flows failing tests

* Further fixes besed on pullrequest comments, Outcomedetails nullability change

* Further fixes besed on pullrequest comments

* More code review comments

* Remove vars from updatedSavedMatrix (Flank#1037)

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* fix: Size annotations support (Flank#994)

* Add androidx size annotations support

* Update size samples to match all annotation generations

* style: Improve kotlin code formatting (Flank#1039)

* More klint options included and autoformat on gradle check

* AutoFormatted files based on detekt & klint

* Fixes for builds and removal of indentation 8 to 4

* fix: master not compiling (Flank#1044)

* Detekt fix 1.0

* Detekt fixed for annotations on single line

* feat: A (Flank#1042)

feat: Added options for default time and average time

* docs: Avoid multiple identical lines printing (Flank#1009)

* Update ExecutionStatusPrinter.kt

* Update ExecutionStatusPrinter.kt

* Update tests

* Update MultiLinePrinterTest.kt

* Update test_runner/src/main/kotlin/ftl/run/status/ExecutionStatusPrinter.kt

Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* Update ExecutionStatusPrinter.kt

* Fix, removing lines on terminals different than intelliJ console

* revert changes about printing

* Revert changes of MultipleLinePrinterTest

* Create 993_multiple_identical_lines_printing.md

* Update 993_multiple_identical_lines_printing.md

* Update DumpShardsKtTest.kt

Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* feat: Add printing messages for MatrixCanceledError and InfrastructureError (Flank#1043)

* Add missing messages

* Change wording

* feat: Add test axis value column to summary table (Flank#1040)

* feat(output): add test axis value column to summary table

docs(output): update summary table

* Display full device name in outcome table

* Update summary_output.md

* Fix namings

* fix: PR check from fork (Flank#1051)

* Fix duplicate tests found (Flank#1048)

* refactor: MatrixMap immutability (Flank#1047)

* MatrixMap immutability

* toSavedMatrixMap immutability

* fixed pr request

* change the order for the mutabulity of the map

* fix: Avoid releasing on document changes only (Flank#1053)

* add filter

* add filter for test_api

* fix: Invoking flank yml on gcloud cli (Flank#1041)

* Fast fail when cannot create bucket

* added tests and fix device version

* update tests

* Fix NPE when no devices or Version node

* Update Debug.kt

* fix imports

* Review fixes

* Set extension funcs to extension properties

* Update Doctor.kt

* Update test_runner/src/main/kotlin/ftl/args/yml/YamlDeviceFix.kt

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* tests: Added missing test t cover duplicated tests issue (Flank#1055)

* feat: Added validation of smart-flank-gcs-path to not override different junit results (Flank#1056)

* Added validation of smart-flank-gcs-paht to not override full junit by junit and back

* Add docs, turn off validation when smart-flank-disable-upload enabled

* [Automatic PR] Generate release notes (Flank#1061)

Co-authored-by: piotradamczyk5 <piotradamczyk5@users.noreply.github.com>

* ci: Post slack message about releases (Flank#1058)

* Add a release notifier for flankbot TEST

* Fix naming & double https issue

* Scoped the releasebot to release only

* fix: Bad validation of `local-result-dir` by Doctor (Flank#1066)

* Change error to an warning, added more detailed information about an error on upload artifacts (Flank#1070)

* Added options to minimize the shadowJar process (Flank#1071)

* [Automatic PR] Generate release notes (Flank#1074)

Co-authored-by: adamfilipow92 <adamfilipow92@users.noreply.github.com>

* fix: firebase refresh fails when test zip file doesn't exist (Flank#1052) (Flank#1054)

* fix: firebase refresh fails when test zip file doesn't exist (Flank#1052)

* renamed `String.proccessFilePath` method to `String.normalizeFilePath`
* catching errors from `ArgsHelper.evaluateFilePath`
* removed validation from `IosArgsCompanion.load` - only for iOS for now. We need different validations for different commands.

TODO:
* remove validation from `AndroidArgsCompanion.load`
* update tests

* Unit tests for ValidateIosArgs

- updated unit tests for ValidateIosArgs
- code cleaning

* Added new validations methods to `ValidateAndoirdArgs`

* Add some fixes to ValidateAndroidArgs.kt

* AndroidArgs validation flow update

* removed validation from `AndroidArgs.load` method
* added manual `AndroidArgs.validate()` method call
* update unit tests
* added new unit tests for AndroidArgs's otherFiles validation

* Removed unnecessary AndroidArgs validations

* Fix unit tests

* Fix unit tests (detect issue)

Co-authored-by: Janek Góral <jan.goral@gogoapps.io>

* Revert "Added options to minimize the shadowJar process (Flank#1071)" (Flank#1077)

This reverts commit 6907113.

* Fix for $ in github workflows (Flank#1079)

* Revert "[Automatic PR] Generate release notes (Flank#1074)" (Flank#1082)

This reverts commit ef8d5ba.

* fix: Flaky Flank-scripts test (Flank#1080)

* [Automatic PR] Generate release notes (Flank#1083)

Co-authored-by: adamfilipow92 <adamfilipow92@users.noreply.github.com>

* Update release.yml (Flank#1087)

* Revert "[Automatic PR] Generate release notes (Flank#1083)" (Flank#1088)

This reverts commit dbb29ac.

* [Automatic PR] Generate release notes (Flank#1089)

Co-authored-by: adamfilipow92 <adamfilipow92@users.noreply.github.com>

* Update release_notes.md (Flank#1091)

* fix: Flank release bot formatting (Flank#1093)

* Fix formatting

* fix yaml error

* fix: Fix gcs files validation (Flank#1100)

* Skip validation for gcs files

* Add comment

* Update tests

* [Automatic PR] Generate release notes (Flank#1101)

Co-authored-by: piotradamczyk5 <piotradamczyk5@users.noreply.github.com>

* fix: Matrix path not found in json (Flank#1067)

* fix: Matrix path not found in json

* Remove fast fail on existing bucket

* Update ValidateCommonArgs.kt

* Delete ValidateResultsDirUniqueTests.kt

* Update ReportManagerTest.kt

* Update ReportManagerTest.kt

* Remove unused method

* detekt

* Update test_runner/src/main/kotlin/ftl/reports/util/ReportManager.kt

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* Print warning when results dir already exist

* fix: Matrix path not found in json

* Remove fast fail on existing bucket

* Update ValidateCommonArgs.kt

* Delete ValidateResultsDirUniqueTests.kt

* Update ReportManagerTest.kt

* Update ReportManagerTest.kt

* Remove unused method

* detekt

* Update test_runner/src/main/kotlin/ftl/reports/util/ReportManager.kt

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* Print warning when results dir already exist

* Fix matching text for legacy Android and iOS

Co-authored-by: Adam <adam.filipowicz92@gmail.com>
Co-authored-by: adamfilipow92 <64852261+adamfilipow92@users.noreply.github.com>
Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* feat: print the matrices web link at the end of a run (Flank#1097)

* added printing option for matrices web link on end of output

* detekt

* matrices.validate() moved outside report generation

* detekt

* Update ReportManagerTest.kt

* fix: Shards and Tests count do not match (Flank#1059)

* build: update info to build with Java 11 (Flank#1102)

* build: update info to build with Java greater than 8

* build: update info to build with Java 11

* build: update info to build with Java 11

* update info about Java 11

* fix: Running iOS test on Linux (Flank#1107)

* feat: send slack message for releases (Flank#1104)

* First iteration of Github action for slack integration

* Added new line

* Added new line 2

* Fix PR comments 1.

* feat: Support for robo tests without robo script (Flank#1108)

* Refactor + implement change

* Update tests

* Update implementation

* Update tests

* Add null check

* feat: Finialize the slack sending integration with actions (Flank#1110)

* Added new way to send slack message to Flank + cookie auth

* Add missing empty line

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* feat: check if gcs path exist before run (Flank#1111)

* [Automatic PR] Generate release notes (Flank#1115)

Co-authored-by: piotradamczyk5 <piotradamczyk5@users.noreply.github.com>

* Fixes linux restriction for docker on slack send (Flank#1116)

* build(deps): bump http-proxy from 1.18.0 to 1.18.1 in /junit_html_report (Flank#1117)

Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](http-party/node-http-proxy@1.18.0...1.18.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: Integration tests for Flank (Flank#1109)

* Removed the test command from docker file (Flank#1121)

* ci: add new bash scripts for test artifacts generation (Flank#1095)

* ci: add new bash scripts for test artifacts generation

ci: make flankScripts auto generate jar if needed

* fix setup_ios_env script

* fix formatting

* Update earl_grey_example function

* Update gohello copy

* Code signing changes in iOS test project

* Fix path resolving

* Fix base_test_apks on zsh

* Added correct path to generate .xctest files

* Update test_artifacts.md

* Update test_artifacts.md

* CR fixes

Co-authored-by: Axel Zuziak <axel.zuziak@gogoapps.io>

* refactor: Use single settings.gradle for flank projects (Flank#1113)

* Add basic setup for single setting.gradle.kts

* Fix gradlew usage

* Fix buildSrc dependencies

* Workaround strange mockk error in NextReleaseTagGeneratorTest

* update PR comments

* update PR comments

* update PR comments

* Remove check step

* update Wrapper version to 6.5.1

* update macOS workflow

* Disable integration tests run on build project, fix path to flank.jar

Co-authored-by: Piotr Adamczyk <piotr.adamczyk@gogoapps.io>
Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>
Co-authored-by: Adam <adam.filipowicz92@gmail.com>

* Readded shadowjar minimization (Flank#1125)

* fix: Reflect gclouds outcome for robo tests (Flank#1124)

* Implement fix for robo outcome

* Address PR review comments

* Update flank_update script (Flank#1127)

* feat: add proguard initial step into Flank configuration (Flank#1078)

* Added proguard with default setup

* Added proguard config options for succesful build

* Update test_runner/proguard/config.pro

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* added minimization

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* Disable IT for iOS (Flank#1129)

* fix: Bump action versioning

* build: Enhance gradle structure (Flank#1128)

* Add sub projects and handle gradle warnings

* split dependencies, for plugins and versions

* Fix dependencies

Co-authored-by: Piotr Adamczyk <piotr.adamczyk@gogoapps.io>
Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* feat: Allow Flank using different environment variables between test-apks (Flank#1126)

* Add support for additional apk env variables

* override top level envs by variables from current apk

* Update GcAndroidTestMatrixTest.kt

* Update AndroidTestConfig.kt

* Update AndroidTestConfig.kt

* Update AndroidTestConfig.kt

* Create using_different_environment_variables_in_different_matrices.md

* Add @JsonProperty("environment-variables") to AppTestPair

* Update test_runner/src/main/kotlin/ftl/run/platform/android/AndroidTestConfig.kt

Co-authored-by: Janek Góral <jan.goral@gogoapps.io>
Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* ci: Add Windows workflow (Flank#1114)

* Added windows workflow that is based of ubuntu

* Lines

* removed the double check

* name change

* Update argshelper for better pathing on windows

* Tests working on Native Windows machine

* UTF-8 support

* Cancel a previously running command

* Bash test removal due to wsl incompability

* fix yaml styling

* More workflow windows fixes

* Update .github/workflows/windows_workflow.yml

Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* Fixes and additions

* Update test_runner/gradle.properties

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* Pull request fix

* Fix ipblocklist windows tests

* Fixed PR comments

* Fix workflow for integration tests

* More fixes for workflows

* Further fixes for testing

* Removal of Integration tests

Co-authored-by: Michael Wright <michael.wright@7sensingsoftware.com>
Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>
Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

* Fix: Running Code coverage job (Flank#1137)

* docs: Update documentation related with test-targets-always-run feature (Flank#1136)

* Update documentation related with test-targets-always-run feature

* Change command description

* Fix typo

* docs: Optimization docs addition (Flank#1139)

* Docs add v1.

* Changed gradlew command

* fix: Fix cost report (Flank#1138)

* feat: add Java 15 compile support (Flank#1141)

* feat: Added java 15 support

* update dependencies and BugsnagInitHelper

* update README and macos_workflow

* fix: Flank-scripts next release tag generation (Flank#1149)

* fix: update flank-scripts serialization (Flank#1151)

* chore: release notes for v20.09.3

Co-authored-by: piotradamczyk5 <piotradamczyk5@users.noreply.github.com>

* feat: Auto update dependencies (Flank#1133)

* ci: added WSL workflow (Flank#1152)

* ci: added WSL workflow

* added GCLOUD key variable

* set GCLOUD variable as shared

* set GCLOUD variable as shared

* set GCLOUD variable as shared

* WSL ls test for gcloud key

* WSL ls test for gcloud key rearrange

* Gcloud key debug test

* Gcloud key debug test fix

* ignore garbage test

* added documentation

Co-authored-by: Michael Wright <Slooxied@gmail.com>

* Fix test artifacts url (Flank#1158)

* docs: Investigate flank options (Flank#1131)

* Fix dependabot security issues (Flank#1164)

* chore: remove duplicated docs (Flank#1162)

* fix: release notes slack tweaks (Flank#1161)

* Tweaks for sending via slack correctly

* remove unused code

* build: Dependencies updates (Flank#1166)

* [Automatic PR] Dependencies update

* Update unit test

* Make detekt happy

* Revert "Make detekt happy"

This reverts commit e5d7f5d.

* Revert Gradle update by tool

* update detekt to 1.14.0

Co-authored-by: pawelpasterz <pawelpasterz@users.noreply.github.com>
Co-authored-by: Pawel Pasterz <pawel.pasterz@gmail.com>
Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* Flank action version bump (Flank#1167)

* feat: Improve error message on matrix failures (Flank#1159)

* Add printing outcome message

* Handle MatrixValidationError, some code refractor, fix OutcomeMessageEnum

* detekt fixes

* Update SavedMatrixTest.kt

* Update SavedMatrixTest.kt

* Move SavedMatrix.errorMessage to matrix map

* Add test for MatrixMap.validate()

* Update SavedMatrixTest.kt

* feat: Integration tests run when pr is approved and not draft (Flank#1163)

* build: Follow up after dependencies update (Flank#1169)

* Enable autocorrect feature for detekt

* build: update dependencyUpdate configuration

Co-authored-by: Piotr Adamczyk <piotr.adamczyk@gogoapps.io>
Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* docs: Add FAQ section about sync problems (Flank#1173)

* docs: Add FAQ section about sync problems

* Update README.md

Co-authored-by: Michael Wright <slooxied@gmail.com>

* Update README.md

Co-authored-by: Michael Wright <slooxied@gmail.com>
Co-authored-by: bootstraponline <code@bootstraponline.com>

* style: commit files corrected by Detekt (Flank#1165)

* Fix flank-scripts test (Flank#1177)

* feat: Dump shards and upload on every run (Flank#1171)

* Add dump shards with upload

* Add dump shards before matrix validation

* Move dumpShards before tests run

* cr changes

* Update test_runner/src/main/kotlin/ftl/cli/firebase/test/ios/IosRunCommand.kt

Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* Add tests to check is dump shards executed on newTestRun

* rename tests

* Removed redundant mock

* added more tests

Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* test: Added cucumber sample app for testing Flank#1118 (Flank#1174)

* test: Added cucumber sample app for testing

* test: Added cucumber sample app for testing

* remove unused files

* Update 914_falsy_positive_outcome_for_flaky_tests.md (Flank#1181)

* test: Remove verification test for edge cases of incorrect outcome in flaky tests (Flank#1187)

* Update SavedMatrixTest.kt

* Update SavedMatrixTest.kt

* fix: Revert "feat: Dump shards and upload on every run (Flank#1171)" (Flank#1188)

* Revert "feat: Dump shards and upload on every run (Flank#1171)"

This reverts commit 256147f.

* Leave wording

* chore: update feature request template

* build: Update testing_v1.json (Flank#1193)

* Update API json

* Regenerate test_api from gcloud 312 testing_v1.json

* chore: Update readme

* build: Dependencies updates (Flank#1209)

* [Automatic PR] Dependencies update

* Fixups

Co-authored-by: pawelpasterz <pawelpasterz@users.noreply.github.com>
Co-authored-by: Pawel Pasterz <pawel.pasterz@gmail.com>

* docs: Added documentation about Cucumber support (Flank#1190)

* ci: Enable RC versions for gradle (dependency update task) (Flank#1210)

* RC enabled for gradle

* Update docs

* feat: Android integration tests run on non wsl windows (Flank#1175)

* Allow tests to get output from flank on windows

* Added non wsl windows workflow file

* Update windows-non-wsl-workflow.yml

* Minor fixes for windows build

* Neaten CommandHHelper and add misisng bat file

* Name change

* PR comments 1

* PR comments 2

* Return type removal

* Return type removal #2

Co-authored-by: Michael Wright <slooxied@gmail.com>

* feat: Added printing missing options (Flank#1214)

* feat: Added printing missing options

* feat: Added printing missing options

* Remove carriage line

Co-authored-by: Michael Wright <Slooxied@gmail.com>

* docs: Added documentation about missing options (Flank#1215)

* feat: Grant permissions addition (Flank#1186)

* Added grant permissions

* Added tests

* fixed spaces

* Added grant permissions

* Added tests

* fixed spaces

* Added documentation

* single line

* Proper single line

* Added defaults and autograntpermissions

* Fix pr comments 2

* negate autogrant

* Fix tests

* Name change

* Fixed tests 2

* ci: Add scripts for test artifacts managment (Flank#1148)

* Add work in progress implementation

* Update work in progress implementation

* Update work in progress implementation

* Increase flank scripts min heap size for preventing OOM when uploading artifacts zip

* Move DependencyUpdatesTask to gradle root to cover all dependencies

* Expose test artifacts functions as cli commands

* Update test_artifacts.md

* Add resolveArtifacts gradle task

* Remove legacy TestArtifact

* remove unused file

* Fix resolveArtifacts task

* code improvements and fixes

* Fix tests

* CR fixes

* Replace okhttp download with fuel

* Fix symbolic link unit test

* Add env variables to integration tests workflow

* Add env variables to wsl workflow

* Add missing env variables

Co-authored-by: Piotr Adamczyk <piotr.adamczyk@gogoapps.io>
Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* Add missing env variables (Flank#1225)

* build: Dependencies updates (Flank#1228)

* [Automatic PR] Dependencies update

* Change kotlin_serialization version

Co-authored-by: pawelpasterz <pawelpasterz@users.noreply.github.com>
Co-authored-by: Pawel Pasterz <pawel.pasterz@gmail.com>

* Update dpocumentation (Flank#1229)

* Fix resolveArtifacts (Flank#1232)

* Fix empty branch name for some workflows (Flank#1236)

* fix: Always dump shards (Flank#1221)

* Add dump shards on run ios/android tests

* Added tests and upload on gcs

* Add ios tests

* Add android test to verify calculation shards is called one

* Add obfuscate option to args and use in testRun

* Update DumpShardsKtTest.kt

* Update CreateIosArgs.kt

* remove unnecessary json

* Update DumpShardsKtTest.kt

* Update GetAndroidMatrixShards.kt

* Cr fixes

* Fix creating empty dump on robo tests

* Update test_runner/src/main/kotlin/ftl/cli/firebase/test/android/AndroidRunCommand.kt

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>

Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>
Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* fix: Fix withClassName filter (Flank#1233)

* feat: Add type (Flank#1230)

* Add type

* Finialize the type parameter

* Better unit tests

* Added more assertiveness for the Type

* detekt fixes

* Added tests and fixed erronous ones

* Nicer name outputs

* Add current date to dependecy PR (Flank#1240)

Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* docs: Add flank website code (Flank#1222)

* Add flank website code

* Fix subsections & exit codes table

* Update subsections on index.md

Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>

* Disable cache for shadowJar task (Flank#1243)

* fix: Flank web documentation link (Flank#1247)

* [Automatic PR] Dependencies update (Flank#1252)

Co-authored-by: pawelpasterz <pawelpasterz@users.noreply.github.com>

* feat: Scenario Labels (Flank#1238)

* Added scenario-labels v1

* Added tests for scenario labels

* Updated documentation

* ci: Update deprecated options ::set-env and ::add-path (Flank#1248)

* fix: Fix running flank workflows on Windows (Flank#1250)

* fix: Fix running flankScripts on Windows

* skip ios test runs on Windows

* fix WSL workflow by setting environment variables

* feat: Added scenario-numbers (Flank#1244)

* Added scenario-numbers

* Fix merge bugs and tests

* Added tests

* Fixed invalid test

* ci: Use Github app token for creating release notes (Flank#1253)

Co-authored-by: Michael Wright <slooxied@gmail.com>
Co-authored-by: adamfilipow92 <64852261+adamfilipow92@users.noreply.github.com>
Co-authored-by: piotradamczyk5 <65554637+piotradamczyk5@users.noreply.github.com>
Co-authored-by: pawelpasterz <32893017+pawelpasterz@users.noreply.github.com>
Co-authored-by: bootstraponline <code@bootstraponline.com>
Co-authored-by: Jan Góral <60390247+jan-gogo@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: piotradamczyk5 <piotradamczyk5@users.noreply.github.com>
Co-authored-by: jan-gogo <jan-gogo@users.noreply.github.com>
Co-authored-by: Matthew Page <7774859+MatthewTPage@users.noreply.github.com>
Co-authored-by: adamfilipow92 <adamfilipow92@users.noreply.github.com>
Co-authored-by: Axel Zuziak <31246956+axelzuziak-gogo@users.noreply.github.com>
Co-authored-by: Janek Góral <jan.goral@gogoapps.io>
Co-authored-by: Adam <adam.filipowicz92@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Axel Zuziak <axel.zuziak@gogoapps.io>
Co-authored-by: Piotr Adamczyk <piotr.adamczyk@gogoapps.io>
Co-authored-by: Michael Wright <michael.wright@7sensingsoftware.com>
Co-authored-by: pawelpasterz <pawelpasterz@users.noreply.github.com>
Co-authored-by: Pawel Pasterz <pawel.pasterz@gmail.com>
  • Loading branch information
21 people committed Oct 21, 2020
1 parent aa628ce commit 366c970
Show file tree
Hide file tree
Showing 605 changed files with 17,293 additions and 4,180 deletions.
19 changes: 19 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env bash

export FLANK_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]-$0}")" && pwd)"
TEST_PROJECTS="$FLANK_ROOT/test_projects"
FLANK_FIXTURES_TMP="$FLANK_ROOT/test_runner/src/test/kotlin/ftl/fixtures/tmp"

. "$TEST_PROJECTS/ops.sh"

function bash_debug() {
set -euxo pipefail
}

function flankScripts() {
"$FLANK_ROOT"/flank-scripts/bash/flankScripts "$@"
}

function buildFlankScripts() {
"$FLANK_ROOT"/flank-scripts/bash/buildFlankScripts.sh
}
12 changes: 2 additions & 10 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,6 @@ assignees: ''

As a [**who**], I want to [**what**] so I can [**why**].

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution**

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
**Describe alternatives considered**
1 change: 0 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,3 @@ Fixes #

- [ ] Documented
- [ ] Unit tested
- [ ] release_notes.md updated
6 changes: 4 additions & 2 deletions .github/workflows/flank-scripts-macos_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:
- name: Gradle check
uses: eskatos/gradle-command-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HEAD_REF: ${{ github.head_ref }}
with:
gradle-executable: "./flank-scripts/gradlew"
arguments: "-p flank-scripts check"
arguments: ":flank-scripts:check"
62 changes: 62 additions & 0 deletions .github/workflows/integration_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: integration-tests

on:
pull_request_review:
types: submitted

jobs:
build:
strategy:
matrix:
os: [ ubuntu-latest, macos-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Display the java version
run: java -version
shell: bash

- uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Gradle clean build
uses: eskatos/gradle-command-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HEAD_REF: ${{ github.ref }}
with:
arguments: "clean build"

- name: Prepare Google Service Account
env:
GCLOUD_KEY: ${{ secrets.GCLOUD_KEY }}
run: |
GCLOUD_DIR="$HOME/.config/gcloud/"
mkdir -p "$GCLOUD_DIR"
echo "$GCLOUD_KEY" | base64 --decode > "$GCLOUD_DIR/application_default_credentials.json"
- name: Check pull request is approved
uses: jrylan/github-action-reviews-counter@main
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
- name: Gradle Integration Tests Android
if: 'steps.reviews.outputs.approved >= 2 && steps.reviews.outputs.changes_requested == 0 && github.event.pull_request.draft == false'
uses: eskatos/gradle-command-action@v1
env:
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
with:
arguments: "--info :integration_tests:test --tests IntegrationTests.shouldMatchAndroidSuccessExitCodeAndPattern -Dflank-path=../test_runner/build/libs/flank.jar -Dyml-path=./src/test/resources/flank_android.yml"

- name: Gradle Integration Tests iOS
if: 'steps.reviews.outputs.approved >= 2 && steps.reviews.outputs.changes_requested == 0 && github.event.pull_request.draft == false'
uses: eskatos/gradle-command-action@v1
env:
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
with:
arguments: "--info :integration_tests:test --tests IntegrationTests.shouldMatchIosSuccessExitCodeAndPattern -Dflank-path=../test_runner/build/libs/flank.jar -Dyml-path=./src/test/resources/flank_ios.yml"
20 changes: 13 additions & 7 deletions .github/workflows/macos_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,30 @@ jobs:

steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions/setup-java@v1
with:
java-version: 8
java-version: 15
- uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-2-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-2-gradle-
- name: Gradle check
- name: Gradle clean build
uses: eskatos/gradle-command-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HEAD_REF: ${{ github.head_ref }}
with:
# Path to the Gradle executable
gradle-executable: "./test_runner/gradlew"
# Gradle command line arguments, see gradle --help
arguments: "-p test_runner check"

arguments: "clean build"

- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "[Auto-commit] Added filese fixed by Detekt"

- name: Codecov
uses: codecov/codecov-action@v1.0.7
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr_checks.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: "Check Pull Request"
on:
pull_request:
pull_request_target:
branches: master
types:
- opened
Expand Down
62 changes: 44 additions & 18 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,47 @@
name: RELEASE

# Run when push on master or create tag with version [v*]
# Run when push on master or create tag with version [v*] for only changes to the test_runner/**
on:
push:
paths:
- 'test_runner/**'
- 'firebase_api/test_api/**'
branches:
- 'master'
tags: v*

jobs:
release:
runs-on: macos-latest
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
submodules: true

- name: Get all git tags
run: |
git fetch --prune --unshallow --tags -f
git tag
- name: Gradle Build flankScripts and add it to PATH
run: |
./flank-scripts/bash/buildFlankScripts.sh
echo "::add-path::./flank-scripts/bash"
echo "./flank-scripts/bash" >> $GITHUB_PATH
- name: Set env variables
run: |
git_short_hash=$(git rev-parse --short "$GITHUB_SHA")
echo "::set-env name=GIT_SHORT_HASH::$(echo $git_short_hash)";
echo "::set-env name=MVN_REVISION::$(echo $GITHUB_SHA)";
echo "MVN_REVISION=$(echo $GITHUB_SHA)" >> $GITHUB_ENV
if [[ $GITHUB_REF == refs/tags/* ]]
then
echo "::set-env name=MVN_VERSION::$(echo ${GITHUB_REF:11})";
echo "::set-env name=RELEASE_TAG::$(echo ${GITHUB_REF:10})";
else
echo "::set-env name=RELEASE_TAG::flank_snapshot";
echo "::set-env name=MVN_VERSION::flank_snapshot";
then
echo "MVN_VERSION=$(echo ${GITHUB_REF:11})" >> $GITHUB_ENV
echo "RELEASE_TAG=$(echo ${GITHUB_REF:10})" >> $GITHUB_ENV
else
echo "RELEASE_TAG=flank_snapshot" >> $GITHUB_ENV
echo "MVN_VERSION=flank_snapshot" >> $GITHUB_ENV
git_short_hash=$(git rev-parse --short "$GITHUB_SHA")
echo "GIT_SHORT_HASH=$(echo $git_short_hash)" >> $GITHUB_ENV
fi;
- name: Store version variables to file
Expand All @@ -52,16 +62,17 @@ jobs:

- name: Gradle Build Flank
uses: eskatos/gradle-command-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HEAD_REF: ${{ github.head_ref }}
with:
gradle-executable: "./test_runner/gradlew"
arguments: "-p test_runner clean build shadowJar"
arguments: "clean test_runner:build test_runner:shadowJar"

- name: Gradle Upload to bintray
uses: eskatos/gradle-command-action@v1
with:
gradle-executable: "./test_runner/gradlew"
arguments: "-p test_runner bintrayUpload -PJFROG_API_KEY=${{ secrets.JFROG_API_KEY }} -PJFROG_USER=${{ secrets.JFROG_USER }}"

arguments: "test_runner:bintrayUpload -PJFROG_API_KEY=${{ secrets.JFROG_API_KEY }} -PJFROG_USER=${{ secrets.JFROG_USER }}"

- name: Authenticate to hub
run: |
mkdir -p ~/.config/
Expand All @@ -88,7 +99,22 @@ jobs:

- name: Release stable
if: startsWith(github.ref, 'refs/tags/v')
run: flankScripts release releaseFlank --input-file=./test_runner/build/libs/flank.jar --git-tag=$RELEASE_TAG --commit-hash=$GIT_SHORT_HASH
run: flankScripts release releaseFlank --input-file=./test_runner/build/libs/flank.jar --git-tag=$RELEASE_TAG --token=${{ secrets.GITHUB_TOKEN }}

- name: Sync bintray to maven central
run: flankScripts release jFrogSync --maven-tag=$MVN_VERSION

- name: Gradle Upload to GitHub packages
uses: eskatos/gradle-command-action@v1
if: startsWith(github.ref, 'refs/tags/v')
with:
arguments: "test_runner:publish -PGITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}"

- name: Post Message of Flank Release
uses: Flank/flank@V1.3-action
if: startsWith(github.ref, 'refs/tags/v')
with:
xoxctoken: ${{ secrets.SLACK_XOXCTOKEN }}
message: Flank ${{ env.RELEASE_TAG }} has been released. View more information <http://github.com/Flank/flank/releases/tag/${{ env.RELEASE_TAG }}| here!>
channel: ${{ secrets.SLACK_CHANNEL}}
cookie: ${{ secrets.SLACK_COOKIE}}
57 changes: 57 additions & 0 deletions .github/workflows/release_notes_generation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: "Generate release notes for next commit"

on:
workflow_dispatch:

jobs:
generateReleaseNotes:
runs-on: macos-latest

steps:
- uses: actions/checkout@v2

- name: Get all git tags
run: |
git fetch --prune --unshallow --tags
git tag
- name: Generate documentation
uses: eskatos/gradle-command-action@v1
with:
arguments: "test_runner:processCliAsciiDoc"

- name: Gradle Build flankScripts and add it to PATH
run: |
./flank-scripts/bash/buildFlankScripts.sh
echo "./flank-scripts/bash" >> $GITHUB_PATH
- name: Set next release tag variable
run: |
TAG=$(flankScripts ci nextReleaseTag --token=${{ secrets.GITHUB_TOKEN }})
echo "NEXT_RELEASE_TAG=$(echo $TAG)" >> $GITHUB_ENV
- name: Append release note
run: |
flankScripts ci generateReleaseNotes --token=${{ secrets.GITHUB_TOKEN }}
- uses: tibdex/github-app-token@v1
id: generate-token
with:
app_id: ${{ secrets.FLANK_RELEASE_APP_ID }}
private_key: ${{ secrets.FLANK_RELEASE_PRIVATE_KEY }}

- name: Commit files and create Pull request
id: pr
uses: peter-evans/create-pull-request@v3
with:
token: ${{ steps.generate-token.outputs.token }}
commit-message: "[Automatic PR] Generate release notes"
signoff: false
branch: 'release/${{ env.NEXT_RELEASE_TAG }}'
title: 'chore: release notes for ${{ env.NEXT_RELEASE_TAG }}'
body: "Auto generated release notes for `${{ env.NEXT_RELEASE_TAG }}` by @${{ github.actor }}"
labels: |
automated pr
release
reviewers: bootstraponline,jan-gogo,pawelpasterz,adamfilipow92,piotradamczyk5,Sloox
draft: false
12 changes: 8 additions & 4 deletions .github/workflows/ubuntu-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: ubuntu-workflow

on:
push:
branches:
branches:
- master
pull_request:
branches:
Expand All @@ -16,8 +16,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Display the java version
run: java -version
run: java -version
shell: bash

- uses: actions/cache@v2
Expand All @@ -29,6 +31,8 @@ jobs:
- name: Gradle clean build
uses: eskatos/gradle-command-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HEAD_REF: ${{ github.head_ref }}
with:
gradle-executable: "./test_runner/gradlew"
arguments: "-p test_runner clean build"
arguments: "clean build"
Loading

0 comments on commit 366c970

Please sign in to comment.