Files
flipper/.github/workflows/nodejs.yml
Pascal Hartig 77abba6459 Persist yarn cache (#2137)
Summary:
The time we spend on this isn't much. However, we quite often see flakiness coming from yarnpkg not responding which should hopefully be addressed by this.

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

Test Plan: CI

Reviewed By: mweststrate

Differential Revision: D27461679

Pulled By: passy

fbshipit-source-id: c7144d2a8426c078f9cab2d3a94662908a03a182
2021-03-31 06:40:40 -07:00

87 lines
2.6 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: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- 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.2
continue-on-error: true
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