name: Reusable VRT reporting workflow for production on: workflow_call: inputs: node-version: required: true type: string checkout-ref: type: string default: ${{ github.head_ref }} skip-reg-suit: type: boolean cypress-report-artifact-name-pattern: required: true type: string secrets: REG_NOTIFY_GITHUB_PLUGIN_CLIENTID: required: true AWS_ACCESS_KEY_ID: required: true AWS_SECRET_ACCESS_KEY: required: true SLACK_WEBHOOK_URL: required: true outputs: EXPECTED_IMAGES_EXIST: value: ${{ jobs.run-reg-suit.outputs.EXPECTED_IMAGES_EXIST }} jobs: run-reg-suit: # use secrets for "VRT" environment # https://github.com/growilabs/growi/settings/environments/376165508/edit environment: VRT if: ${{ !inputs.skip-reg-suit }} env: REG_NOTIFY_GITHUB_PLUGIN_CLIENTID: ${{ secrets.REG_NOTIFY_GITHUB_PLUGIN_CLIENTID }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} runs-on: ubuntu-latest outputs: EXPECTED_IMAGES_EXIST: ${{ steps.check-expected-images.outputs.EXPECTED_IMAGES_EXIST }} steps: - uses: actions/checkout@v4 with: ref: ${{ inputs.checkout-ref }} fetch-depth: 0 - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: node-version: ${{ inputs.node-version }} cache: 'pnpm' - name: Install dependencies run: | pnpm install --frozen-lockfile - name: Download screenshots taken by cypress uses: actions/download-artifact@v4 with: path: apps/app/test/cypress pattern: ${{ inputs.cypress-report-artifact-name-pattern }} merge-multiple: true - name: Run reg-suit working-directory: ./apps/app run: | pnpm run reg:run - name: Slack Notification uses: weseek/ghaction-slack-notification@master if: failure() with: type: ${{ job.status }} job_name: '*Node CI for growi - run-reg-suit (${{ inputs.node-version }})*' channel: '#ci' isCompactMode: true url: ${{ secrets.SLACK_WEBHOOK_URL }}