name: Compose a Slack block for release tests description: Create a Slack block that shows the API and E2E test results from one of the release tests, and upload it as an artifact. permissions: {} inputs: test-name: required: true api-result: required: true type: choice default: skipped options: - success - failure - cancelled - skipped e2e-result: required: true type: choice default: skipped options: - success - failure - cancelled - skipped env-slug: required: true release-version: required: true runs: using: composite steps: - name: Create context block as a JSON object id: generate-json uses: actions/github-script@v6 with: script: | const script = require('./.github/actions/tests/slack-summary-on-release/slack-blocks/scripts/create-result-block'); return script(); env: API_RESULT: ${{ inputs.api-result }} E2E_RESULT: ${{ inputs.e2e-result }} ENV_SLUG: ${{ inputs.env-slug }} TEST_NAME: ${{ inputs.test-name }} RELEASE_VERSION: ${{ inputs.release-version }} - name: Write JSON file working-directory: /tmp shell: bash env: CONTEXT_JSON: ${{ toJSON(steps.generate-json.outputs.result) }} run: echo ${{ env.CONTEXT_JSON }} > "${{ inputs.test-name }}.json" - name: Upload JSON file as artifact uses: actions/upload-artifact@v3 with: name: ${{ env.SLACK_BLOCKS_ARTIFACT }} path: /tmp/${{ inputs.test-name }}.json