ci.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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@v2
  22. with:
  23. node-version: 16
  24. cache: 'npm'
  25. - name: Install packages
  26. run: npm ci
  27. - name: === Linting ===
  28. run: npm run lint
  29. unit:
  30. name: "Unit testing"
  31. runs-on: ubuntu-latest
  32. steps:
  33. - name: Git checkout
  34. uses: actions/checkout@v2
  35. - name: Install node
  36. uses: actions/setup-node@v2
  37. with:
  38. node-version: 16
  39. cache: 'npm'
  40. - name: Install packages
  41. run: |
  42. npm ci
  43. npm ci --prefix test
  44. - name: Build
  45. run: npm run build
  46. - name: === Unit testing ===
  47. run: npm run test-unit
  48. e2e:
  49. name: "E2E testing"
  50. runs-on: ubuntu-latest
  51. strategy:
  52. matrix:
  53. CI: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
  54. env:
  55. CI: ${{ matrix.CI }}
  56. FORCE_COLOR: 1
  57. steps:
  58. - name: Git checkout
  59. uses: actions/checkout@v2
  60. - name: Install node
  61. uses: actions/setup-node@v2
  62. with:
  63. node-version: 16
  64. cache: 'npm'
  65. - name: Install packages
  66. run: |
  67. npm ci
  68. npm ci --prefix test
  69. sudo apt-get install xvfb
  70. - name: Build
  71. run: npm run build
  72. - name: === E2E testing ===
  73. run: xvfb-run --auto-servernum npm run test-e2e
  74. e2e-cov:
  75. name: "Ready for release"
  76. runs-on: ubuntu-latest
  77. steps:
  78. - name: Git checkout
  79. uses: actions/checkout@v2
  80. - name: Install node
  81. uses: actions/setup-node@v2
  82. with:
  83. node-version: 16
  84. cache: 'npm'
  85. - name: Install packages
  86. run: npm ci
  87. - name: === Ready for release ===
  88. run: npm run test-e2e-cov