Files
flipper/.github/workflows/nodejs.yml
Pascal Hartig 33cd7d29df Set up coveralls Jest coverage tracking on GitHub (#1392)
Summary:
This adds some pretty nice unit test coverage analysis for our codebase. Especially useful for external pull requests as a gentle nudge to make sure they don't regress the topline number.

To learn more, check out https://github.com/coverallsapp/github-action

Pull Request resolved: https://github.com/facebook/flipper/pull/1392

Test Plan:
{F245038134}

{F245038132}

https://coveralls.io/builds/32250084

Reviewed By: jknoxville

Differential Revision: D22664361

Pulled By: passy

fbshipit-source-id: 4dc1fc79677da41a9d3ea198224c5678ae156ad4
2020-07-22 08:41:14 -07:00

76 lines
2.2 KiB
YAML

name: Flipper Node CI
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
env:
desktop-directory: ./desktop
strategy:
fail-fast: false
matrix:
node-version: [12.x]
os: ['ubuntu-latest', 'windows-latest', 'macos-latest']
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: yarn install
run: yarn
working-directory: ${{env.desktop-directory}}
- name: lint
run: yarn lint
working-directory: ${{env.desktop-directory}}
- name: test
run: yarn test --coverage
working-directory: ${{env.desktop-directory}}
- name: coveralls
uses: coverallsapp/github-action@v1.1.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
base-path: ${{env.desktop-directory}}
path-to-lcov: ${{env.desktop-directory}}/coverage/lcov.info
- name: build linux
if: matrix.os == 'ubuntu-latest'
run: yarn build --linux
working-directory: ${{env.desktop-directory}}
- name: build macos
if: matrix.os == 'macos-latest'
run: yarn build --mac --mac-dmg
working-directory: ${{env.desktop-directory}}
- name: build windows
if: matrix.os == 'windows-latest'
run: yarn build --win
working-directory: ${{env.desktop-directory}}
- name: upload linux artifact
uses: actions/upload-artifact@v1
if: matrix.os == 'ubuntu-latest'
with:
name: Flipper-linux.zip
path: dist/Flipper-linux.zip
- name: upload windows artifact
uses: actions/upload-artifact@v1
if: matrix.os == 'windows-latest'
with:
name: Flipper-win.zip
path: dist/Flipper-win.zip
- name: upload mac zip artifact
uses: actions/upload-artifact@v1
if: matrix.os == 'macos-latest'
with:
name: Flipper-mac.zip
path: dist/Flipper-mac.zip
- name: upload mac dmg artifact
uses: actions/upload-artifact@v1
if: matrix.os == 'macos-latest'
with:
name: Flipper-mac.dmg
path: dist/Flipper-mac.dmg