ci.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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. name: "Linting"
  12. runs-on: ubuntu-latest
  13. steps:
  14. - name: Git checkout
  15. uses: actions/checkout@v2
  16. - name: Install node
  17. uses: actions/setup-node@v1
  18. with:
  19. node-version: '10.x'
  20. - name: Restore cache
  21. uses: actions/cache@v1
  22. env:
  23. cache-name: cache-node-modules
  24. with:
  25. path: ~/.npm
  26. key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
  27. restore-keys: |
  28. ${{ runner.os }}-ci-${{ env.cache-name }}-
  29. ${{ runner.os }}-ci-
  30. ${{ runner.os }}-
  31. - name: Install packages
  32. run: npm ci
  33. - name: === Linting ===
  34. run: npm run test-lint
  35. unit:
  36. name: "Unit testing"
  37. runs-on: ubuntu-latest
  38. steps:
  39. - name: Git checkout
  40. uses: actions/checkout@v2
  41. - name: Install node
  42. uses: actions/setup-node@v1
  43. with:
  44. node-version: '10.x'
  45. - name: Restore cache
  46. uses: actions/cache@v1
  47. env:
  48. cache-name: cache-node-modules
  49. with:
  50. path: ~/.npm
  51. key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
  52. restore-keys: |
  53. ${{ runner.os }}-ci-${{ env.cache-name }}-
  54. ${{ runner.os }}-ci-
  55. ${{ runner.os }}-
  56. - name: Install packages
  57. run: npm ci
  58. - name: === Unit testing ===
  59. run: npm run test-unit
  60. e2e:
  61. name: "E2E testing"
  62. runs-on: ubuntu-latest
  63. strategy:
  64. matrix:
  65. CI: [ 0, 1, 2, 3 ]
  66. env:
  67. CI: ${{ matrix.CI }}
  68. FORCE_COLOR: 1
  69. steps:
  70. - name: Git checkout
  71. uses: actions/checkout@v2
  72. - name: Install node
  73. uses: actions/setup-node@v1
  74. with:
  75. node-version: '10.x'
  76. - name: Restore cache
  77. uses: actions/cache@v1
  78. env:
  79. cache-name: cache-node-modules
  80. with:
  81. path: ~/.npm
  82. key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
  83. restore-keys: |
  84. ${{ runner.os }}-ci-${{ env.cache-name }}-
  85. ${{ runner.os }}-ci-
  86. ${{ runner.os }}-
  87. - name: Install packages
  88. run: npm ci && sudo apt-get install xvfb && npm run build
  89. - name: === E2E testing ===
  90. run: xvfb-run --auto-servernum npm run test-e2e
  91. e2e-cov:
  92. name: "Ready for release"
  93. runs-on: ubuntu-latest
  94. steps:
  95. - name: Git checkout
  96. uses: actions/checkout@v2
  97. - name: Install node
  98. uses: actions/setup-node@v1
  99. with:
  100. node-version: '10.x'
  101. - name: Restore cache
  102. uses: actions/cache@v1
  103. env:
  104. cache-name: cache-node-modules
  105. with:
  106. path: ~/.npm
  107. key: ${{ runner.os }}-ci-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
  108. restore-keys: |
  109. ${{ runner.os }}-ci-${{ env.cache-name }}-
  110. ${{ runner.os }}-ci-
  111. ${{ runner.os }}-
  112. - name: Install packages
  113. run: npm ci
  114. - name: === Ready for release ===
  115. run: npm run test-e2e-cov
粤ICP备19079148号