ci-app-prod.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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. - name: Git merge-base
  12. id: get-merge-base
  13. run: |
  14. sha=`git merge-base ${{ github.head_ref }} ${{ github.base_ref }}`
  15. echo "::set-output name=sha::$sha"
  16. run-reg-suit-sync-expected:
  17. needs: [retrieve-merge-base-hash]
  18. uses: weseek/growi/.github/workflows/reusable-app-reg-suit.yml@support/vrt-with-cypress
  19. with:
  20. node-version: 14.x
  21. checkout-ref: ${{ needs.retrieve-merge-base-hash.outputs.MERGE_BASE_SHA }}
  22. run-sync-expected: true
  23. secrets:
  24. REG_NOTIFY_GITHUB_PLUGIN_CLIENTID: ${{ secrets.REG_NOTIFY_GITHUB_PLUGIN_CLIENTID }}
  25. AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  26. AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  27. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
  28. test-prod-merge-base:
  29. needs: [retrieve-merge-base-hash, run-reg-suit-sync-expected]
  30. uses: weseek/growi/.github/workflows/reusable-app-prod.yml@support/vrt-with-cypress
  31. if: ${{ !needs.run-reg-suit-sync-expected.outputs.EXPECTED_IMAGES_EXIST }}
  32. with:
  33. node-version: 14.x
  34. checkout-ref: ${{ needs.retrieve-merge-base-hash.outputs.MERGE_BASE_SHA }}
  35. skip-launching-test: true
  36. cypress-report-artifact-name: Cypress report for base
  37. secrets:
  38. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
  39. run-reg-suit-merge-base:
  40. needs: [test-prod-base]
  41. uses: weseek/growi/.github/workflows/reusable-app-reg-suit.yml@support/vrt-with-cypress
  42. if: always()
  43. with:
  44. node-version: 14.x
  45. checkout-ref: ${{ github.event.pull_request.base.ref }}
  46. run-sync-expected: true
  47. run-compare: true
  48. run-publish: true
  49. cypress-report-artifact-name: Cypress report for base
  50. secrets:
  51. REG_NOTIFY_GITHUB_PLUGIN_CLIENTID: ${{ secrets.REG_NOTIFY_GITHUB_PLUGIN_CLIENTID }}
  52. AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  53. AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  54. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
  55. test-prod-head:
  56. uses: weseek/growi/.github/workflows/reusable-app-prod.yml@support/vrt-with-cypress
  57. with:
  58. node-version: 14.x
  59. cypress-report-artifact-name: Cypress report for head
  60. secrets:
  61. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
  62. run-reg-suit-head:
  63. needs: [run-reg-suit-base, test-prod-head]
  64. uses: weseek/growi/.github/workflows/reusable-app-reg-suit.yml@support/vrt-with-cypress
  65. if: always()
  66. with:
  67. node-version: 14.x
  68. run-sync-expected: true
  69. run-compare: true
  70. run-publish: true
  71. cypress-report-artifact-name: Cypress report for head
  72. secrets:
  73. REG_NOTIFY_GITHUB_PLUGIN_CLIENTID: ${{ secrets.REG_NOTIFY_GITHUB_PLUGIN_CLIENTID }}
  74. AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  75. AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  76. SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}