ci-app-prod.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. name: Node CI for app production
  2. on:
  3. pull_request:
  4. types: [opened, reopened, synchronize]
  5. jobs:
  6. retrieve-merge-base-hash:
  7. runs-on: ubuntu-latest
  8. outputs:
  9. MERGE_BASE_SHA: ${{ steps.get-merge-base.outputs.sha }}
  10. steps:
  11. - uses: actions/checkout@v2
  12. with:
  13. fetch-depth: 0
  14. - name: Git merge-base
  15. id: get-merge-base
  16. run: |
  17. sha=`git merge-base ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}`
  18. echo "::set-output name=sha::$sha"
  19. run-reg-suit-sync-expected:
  20. needs: [retrieve-merge-base-hash]
  21. uses: weseek/growi/.github/workflows/reusable-app-reg-suit.yml@support/vrt-with-cypress
  22. with:
  23. node-version: 14.x
  24. checkout-ref: ${{ needs.retrieve-merge-base-hash.outputs.MERGE_BASE_SHA }}
  25. run-sync-expected: true
  26. secrets:
  27. REG_NOTIFY_GITHUB_PLUGIN_CLIENTID: ${{ secrets.REG_NOTIFY_GITHUB_PLUGIN_CLIENTID }}
  28. AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  29. AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  30. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
  31. test-prod-merge-base:
  32. needs: [retrieve-merge-base-hash, run-reg-suit-sync-expected]
  33. uses: weseek/growi/.github/workflows/reusable-app-prod.yml@support/vrt-with-cypress
  34. if: ${{ !needs.run-reg-suit-sync-expected.outputs.EXPECTED_IMAGES_EXIST }}
  35. with:
  36. node-version: 14.x
  37. checkout-ref: ${{ needs.retrieve-merge-base-hash.outputs.MERGE_BASE_SHA }}
  38. skip-launching-test: true
  39. cypress-report-artifact-name: Cypress report for base
  40. secrets:
  41. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
  42. run-reg-suit-merge-base:
  43. needs: [test-prod-merge-base]
  44. uses: weseek/growi/.github/workflows/reusable-app-reg-suit.yml@support/vrt-with-cypress
  45. if: always()
  46. with:
  47. node-version: 14.x
  48. checkout-ref: ${{ github.event.pull_request.base.ref }}
  49. run-sync-expected: true
  50. run-compare: true
  51. run-publish: true
  52. cypress-report-artifact-name: Cypress report for base
  53. secrets:
  54. REG_NOTIFY_GITHUB_PLUGIN_CLIENTID: ${{ secrets.REG_NOTIFY_GITHUB_PLUGIN_CLIENTID }}
  55. AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  56. AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  57. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
  58. test-prod-head:
  59. uses: weseek/growi/.github/workflows/reusable-app-prod.yml@support/vrt-with-cypress
  60. with:
  61. node-version: 14.x
  62. cypress-report-artifact-name: Cypress report for head
  63. secrets:
  64. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
  65. run-reg-suit-head:
  66. needs: [run-reg-suit-merge-base, test-prod-head]
  67. uses: weseek/growi/.github/workflows/reusable-app-reg-suit.yml@support/vrt-with-cypress
  68. if: always()
  69. with:
  70. node-version: 14.x
  71. run-sync-expected: true
  72. run-compare: true
  73. run-publish: true
  74. cypress-report-artifact-name: Cypress report for head
  75. secrets:
  76. REG_NOTIFY_GITHUB_PLUGIN_CLIENTID: ${{ secrets.REG_NOTIFY_GITHUB_PLUGIN_CLIENTID }}
  77. AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  78. AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  79. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}