flank

Massively parallel Android and iOS test runner for Firebase Test Lab

APACHE-2.0 License

Downloads
49
Stars
663
Committers
81

Bot releases are hidden (Show)

flank - Flank Github action

Published by piotradamczyk5 over 3 years ago

flank - Flank Github action

Published by piotradamczyk5 over 3 years ago

Action

This Github action allow running Flank using your Github workflows.

Documentation for Flank is at flank.github.io/flank

Usage

Inputs

Input name Description Required Default
version Flank version to run. Minimal supported version is v21.03.1. Leaving it blank will fallback to latest version. false latest available
service_account Service account to authenticate with. Could be path to file, link to file or file content itself. More information about creating a service account could be found at documentation true
platform Platform to run. Could be ios or android true
flank_configuration_file Flank configuration file. More info how it should look like is in documentation true

Outputs

Output name Description
gcloud_results_directory Link to Gcloud store where results are stored.
local_results_directory Path to local results directory. All output files from this run are stored inside. You could use it as output artifacts.

Adding to workflows

- name: <your name>
  id: <id of action>
  uses: Flank/flank@master
  with:
    version: <Flank version to run, minimum supported is v21.03.1, default latest>
    service_account: <file content, file link or path to file with service account> 
    platform: [android|ios]
    flank_configuration_file: <Path to configuration file>

Example workflows

Service account file content from secrets

- name: flank run
  id: flank_run
  uses: Flank/flank@master
  with:
    # Flank version to run
    version: v21.03.1
    # Service account file content from secrets
    service_account: ${{ secrets.SERVICE_ACCOUNT }} 
    # Run Android tests
    platform: android
    # Path to configuration file from local repo
    flank_configuration_file: './testing/android/flank-simple-success.yml'

- name: output
  run: |
    # Use local directory output
    echo "Local directory: ${{ steps.flank_run.outputs.local_results_directory }}"
    # Use Gcloud storage output 
    echo "Gcloud: ${{ steps.flank_run.outputs.gcloud_results_directory }}"

Service account file from repository

- name: flank run
  id: flank_run
  uses: Flank/flank@master
  with:
    # Service account file from repository
    service_account: './service_account.json'
    # Run Android tests
    platform: android
    # Path to configuration file from local repo
    flank_configuration_file: './testing/android/flank-simple-success.yml'

- name: output
  run: |
    # Use local directory output
    echo "Local directory: ${{ steps.flank_run.outputs.local_results_directory }}"
    # Use Gcloud storage output 
    echo "Gcloud: ${{ steps.flank_run.outputs.gcloud_results_directory }}"

Create service account during workflow


- name: Create service account
  run: echo '${{ secrets.SERVICE_ACCOUNT }}' > service_account_created.json

- name: flank run
  id: flank_run
  uses: Flank/flank@master
  with:
    # Service account created in previous step
    service_account: './service_account_created.json'
    # Run Android tests
    platform: android
    # Path to configuration file from local repo
    flank_configuration_file: './testing/android/flank-simple-success.yml'

- name: output
  run: |
    # Use local directory output
    echo "Local directory: ${{ steps.flank_run.outputs.local_results_directory }}"
    # Use Gcloud storage output 
    echo "Gcloud: ${{ steps.flank_run.outputs.gcloud_results_directory }}"

Runner OS support

All 3 runner operating systems are supported.

flank - Flank Scripts 1.6.6

Published by piotradamczyk5 over 3 years ago

flank - Flank Scripts 1.6.4

Published by piotradamczyk5 over 3 years ago

flank - 'Flank Scripts 1.6.3'

Published by piotradamczyk5 over 3 years ago

flank - V1.5-action

Published by Sloox almost 4 years ago

For internal dogfood use only

flank - V1.3-action

Published by Sloox about 4 years ago

Dont use this

flank - DO NOT USE THIS!!

Published by Sloox about 4 years ago

V1.2-action

flank - DO NOT USE THIS!!

Published by Sloox about 4 years ago

Sends a Firebase community Message about new releases

flank - Flank v20.07.0

Published by bootstraponline over 4 years ago

Stable release for commit 02bca27

v20.07.0

flank - Flank v20.06.2

Published by bootstraponline over 4 years ago

Stable release for commit 08de9c3

v20.06.2

flank - Flank v20.06.1

Published by bootstraponline over 4 years ago

Stable release for commit 6d25735

v20.06.1

flank - Flank v20.06.0

Published by bootstraponline over 4 years ago

Stable release for commit 77f18db

v20.06.0

flank - Flank v20.05.2

Published by bootstraponline over 4 years ago

Stable release for commit 7618ebd

v20.05.2

flank - Flank v20.05.1

Published by bootstraponline over 4 years ago

Stable release for commit 88f336d

v20.05.1

flank - Flank v20.05.0

Published by bootstraponline over 4 years ago

Stable release for commit ead2739

Release highlights

Flank 20 has been released! This includes 41 features and bug fixes from 9 authors (bootstraponline, RainNapper, Kurt-Bonatz, doodla, jan-gogo, pawelpasterz, fondesa, Writhe, adamfilipow92).

Highlights include:

  • Date based version numbers! 20.05.0 is the first Flank release in May.
  • Server side sharding. All the shards show up in one matrix if you're using a single APK. This is a huge stability and user experience win. num-flaky-test-attempts will retry entire shards.
  • Video, auto login, and perf metrics default to off to optimize for performance. You can turn them back on if desired.
  • Flank no longer hangs on exceptions!
  • The API is used to fetch XML results on Android instead of parsing XML files. This improves performance and correctness.
  • Web links to the matrices are printed at the start of each run.
  • Many new features are now supported in Flank and are coming soon to Fladle. additional-apks, disableSharding, smartFlankDisableUpload, testRunnerClass, localResultsDir, testTargetsAlwaysRun, runTimeout, ignoreFailedTests, numUniformShards, clientDetails, otherFiles, networkProfile, roboScript, roboDirectives
  • Improved memory usage for running on small virtual machines
  • ASCII doc in the repo for every supported Flank command
  • Flank is now on maven central! The group id has changed from flank to com.github.flank We're working to automatically sync each new release to maven.
  • Timing values corrected in JUnit XML files on Android.
  • Fixed test filtering logic when using notPackage and notClass

v20.05.0

flank - Flank v8.1.0

Published by bootstraponline almost 5 years ago

Stable release for commit 4f0d4a3

v8.1.0

flank - Flank v8.0.1

Published by bootstraponline about 5 years ago

Stable release for commit 4942e6f

v8.0.1

flank - Flank v8.0.0

Published by bootstraponline about 5 years ago

Stable release for commit a484ff0

v8.0.0

flank - Flank v7.0.2

Published by bootstraponline about 5 years ago

Stable release for commit 9c25955

v7.0.2

Package Rankings
Top 4.06% on Proxy.golang.org
Top 5.35% on Github actions
Top 25.95% on Repo1.maven.org
Top 38.14% on Formulae.brew.sh
Related Projects