ci.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. name: CI
  2. on:
  3. pull_request:
  4. paths-ignore:
  5. - 'docs/**'
  6. push:
  7. paths-ignore:
  8. - 'docs/**'
  9. jobs:
  10. lint:
  11. runs-on: ubuntu-latest
  12. steps:
  13. - name: Git checkout
  14. uses: actions/checkout@v2
  15. - name: Install node
  16. uses: actions/setup-node@v1
  17. with:
  18. node-version: '10.x'
  19. - name: Restore cache
  20. uses: actions/cache@v1
  21. env:
  22. cache-name: cache-node-modules
  23. with:
  24. path: ~/.npm
  25. key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
  26. restore-keys: |
  27. ${{ runner.os }}-ci-${{ env.cache-name }}-
  28. ${{ runner.os }}-ci-
  29. ${{ runner.os }}-
  30. - name: Install packages
  31. run: npm ci && sudo apt-get install xvfb
  32. - name: === Linting ===
  33. run: npm run test-lint
  34. unit:
  35. runs-on: ubuntu-latest
  36. steps:
  37. - name: Git checkout
  38. uses: actions/checkout@v2
  39. - name: Install node
  40. uses: actions/setup-node@v1
  41. with:
  42. node-version: '10.x'
  43. - name: Restore cache
  44. uses: actions/cache@v1
  45. env:
  46. cache-name: cache-node-modules
  47. with:
  48. path: ~/.npm
  49. key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
  50. restore-keys: |
  51. ${{ runner.os }}-ci-${{ env.cache-name }}-
  52. ${{ runner.os }}-ci-
  53. ${{ runner.os }}-
  54. - name: Install packages
  55. run: npm ci && sudo apt-get install xvfb
  56. - name: === Unit testing ===
  57. run: npm run test-unit
  58. e2e:
  59. runs-on: ubuntu-latest
  60. strategy:
  61. matrix:
  62. CI: [ 0, 1, 2, 3 ]
  63. env:
  64. CI: ${{ matrix.CI }}
  65. FORCE_COLOR: 1
  66. steps:
  67. - name: Git checkout
  68. uses: actions/checkout@v2
  69. - name: Install node
  70. uses: actions/setup-node@v1
  71. with:
  72. node-version: '10.x'
  73. - name: Restore cache
  74. uses: actions/cache@v1
  75. env:
  76. cache-name: cache-node-modules
  77. with:
  78. path: ~/.npm
  79. key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
  80. restore-keys: |
  81. ${{ runner.os }}-ci-${{ env.cache-name }}-
  82. ${{ runner.os }}-ci-
  83. ${{ runner.os }}-
  84. - name: Install packages
  85. run: npm ci && sudo apt-get install xvfb
  86. - name: === End-to-end testing ===
  87. run: xvfb-run --auto-servernum npm run test-e2e
粤ICP备19079148号