Flow Coverage Compare
source link: https://github.com/jackieo5023/flow-coverage-compare
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Flow Coverage Compare
Github action to compare flow coverage on a PR to the base branch.
Running this action will create a comment like this on your pull request:
Usage
You'll want to add this job to one of your workflow files. Below are examples of sample workflow files using this action. Additionally, in order to use this action, you'll want to ensure you can run flow like yarn run flow
or npm run flow
in your repository.
Action inputs
The possible inputs for this action are:
Parameter
Description
Default
github-token
The GitHub authentication token
GITHUB_TOKEN
package-manager
The package manager your repo uses - either yarn
or npm
yarn
path
The path to your .flowconfig
(which should be the same as the path to your package.json
)
pattern
The regex pattern used to determine which files to run flow on
^.*.js$
threshold
The number of percentage points down where this job will fail - not specifying this input will cause the job to always pass if run successfully
Examples
"Copy paste" config
This config uses all the defaults, specifying nothing - it assumes you are using yarn, want to check all .js
files, always want the check to pass, and just make a comment on your PR with the flow comparison.
Note: The steps before Run check
in this workflow are important! They checkout your head branch from your PR, and the base branch it wants to merge into.
name: Flow Coverage Compare on: [pull_request] jobs: check: runs-on: ubuntu-latest steps: - name: Checkout head branch uses: actions/checkout@v2 with: path: head - name: Checkout base branch uses: actions/checkout@v2 with: path: base ref: ${{ github.base_ref }} - name: Install dependencies run: | cd head yarn cd ../base yarn - name: Run check uses: jackieo5023/[email protected]
Customizable config
This config specifies 4 things:
- You are using
npm
- Your flow config and
package.json
is under the pathclient/
- You want to check only the files under the
client/src
directory, ending in.js
- You want to fail the job if any file checked has a decline in flow coverage greater than or equal to 10%
Note: You still need to include the steps before Run check
with this workflow!
name: Flow Coverage Compare on: [pull_request] jobs: check: runs-on: ubuntu-latest steps: - name: Checkout head branch uses: actions/checkout@v2 with: path: head - name: Checkout base branch uses: actions/checkout@v2 with: path: base ref: ${{ github.base_ref }} - name: Install dependencies run: | cd head/client npm install cd ../../base/client npm install - name: Run check uses: jackieo5023/[email protected] with: package-manager: npm path: client/ pattern: ^client/src\/.*.js$ threshold: 10
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK