name: Continuous Integration on: push: paths-ignore: - '**.md' pull_request: paths-ignore: - '**.md' schedule: - cron: 0 11 * * 1-5 jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@master - name: Setup node uses: actions/setup-node@v2-beta with: node-version: 12 - name: Store node version variable id: node run: | echo "::set-output name=version::$(node -v)" - name: Cache node_modules uses: actions/cache@v2 id: node_modules with: path: node_modules key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package.json') }}-${{ steps.node.outputs.version }} - name: Install dependencies run: npx panva/npm-install-retry if: ${{ steps.node_modules.outputs.cache-hit != 'true' }} - run: npm run lint - run: npm run lint-ts test: env: NODE_NO_WARNINGS: 1 runs-on: ${{ matrix.os }} strategy: matrix: node-version: - 10.13.0 - 10 - 11.0.0 - 11 - 12.0.0 - 12 - 13.7.0 - 13 - 14.0.0 - 14 os: - ubuntu-latest - windows-latest steps: - name: Checkout uses: actions/checkout@master - name: Setup node uses: actions/setup-node@v2-beta with: node-version: ${{ matrix.node-version }} - name: Store node version variable id: node run: | echo "::set-output name=version::$(node -v)" - name: Cache node_modules uses: actions/cache@v2 id: node_modules with: path: node_modules key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package.json') }}-${{ steps.node.outputs.version }} - name: Install dependencies run: npx panva/npm-install-retry if: ${{ steps.node_modules.outputs.cache-hit != 'true' }} - run: npm run coverage - env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} run: npx codecov test-electron: env: NODE_NO_WARNINGS: 1 runs-on: ${{ matrix.os }} strategy: matrix: electron-version: - 6.0.0 - 6 - 7.0.0 - 7 - 8.0.0 - 8 - 9.0.0 - 9 - 10.0.0 - 10 os: - ubuntu-latest - windows-latest steps: - name: Checkout uses: actions/checkout@master - name: Setup node uses: actions/setup-node@v2-beta with: node-version: 12 - name: Store node version variable id: node run: | echo "::set-output name=version::$(node -v)" - name: Cache node_modules uses: actions/cache@v2 id: node_modules with: path: node_modules key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package.json') }}-${{ steps.node.outputs.version }} - name: Install dependencies run: npx panva/npm-install-retry if: ${{ steps.node_modules.outputs.cache-hit != 'true' }} - run: npm install --global xvfb-maybe electron@${{ matrix.electron-version }} - run: xvfb-maybe electron ./test/electron