ci.yml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. name: CI
  2. on:
  3. pull_request:
  4. paths-ignore:
  5. - 'build/**'
  6. - 'docs/**'
  7. - 'files/**'
  8. push:
  9. paths-ignore:
  10. - 'build/**'
  11. - 'docs/**'
  12. - 'files/**'
  13. jobs:
  14. lint:
  15. name: "Linting"
  16. runs-on: ubuntu-latest
  17. steps:
  18. - name: Git checkout
  19. uses: actions/checkout@v2
  20. - name: Install node
  21. uses: actions/setup-node@v1
  22. with:
  23. node-version: 12
  24. - name: Install packages
  25. run: npm ci
  26. - name: === Linting ===
  27. run: npm run lint
  28. unit:
  29. name: "Unit testing"
  30. runs-on: ubuntu-latest
  31. steps:
  32. - name: Git checkout
  33. uses: actions/checkout@v2
  34. - name: Install node
  35. uses: actions/setup-node@v1
  36. with:
  37. node-version: 12
  38. - name: Install packages
  39. run: |
  40. npm ci
  41. npm ci --prefix test
  42. - name: Build
  43. run: npm run build
  44. - name: === Unit testing ===
  45. run: npm run test-unit
  46. e2e:
  47. name: "E2E testing"
  48. runs-on: ubuntu-latest
  49. strategy:
  50. matrix:
  51. CI: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
  52. env:
  53. CI: ${{ matrix.CI }}
  54. FORCE_COLOR: 1
  55. steps:
  56. - name: Git checkout
  57. uses: actions/checkout@v2
  58. - name: Install node
  59. uses: actions/setup-node@v1
  60. with:
  61. node-version: 12
  62. - name: Install packages
  63. run: |
  64. npm ci
  65. npm ci --prefix test
  66. sudo apt-get install xvfb
  67. - name: Build
  68. run: npm run build
  69. - name: === E2E testing ===
  70. run: xvfb-run --auto-servernum npm run test-e2e
  71. e2e-cov:
  72. name: "Ready for release"
  73. runs-on: ubuntu-latest
  74. steps:
  75. - name: Git checkout
  76. uses: actions/checkout@v2
  77. - name: Install node
  78. uses: actions/setup-node@v1
  79. with:
  80. node-version: 12
  81. - name: Install packages
  82. run: npm ci
  83. - name: === Ready for release ===
  84. run: npm run test-e2e-cov