name: Flipper Node CI on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} env: desktop-directory: ./desktop strategy: 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 working-directory: ${{env.desktop-directory}} - 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