Skip to content

Deploy and Retrieve End to End Tests #53

Deploy and Retrieve End to End Tests

Deploy and Retrieve End to End Tests #53

name: Deploy and Retrieve End to End Tests
on:
workflow_dispatch:
inputs:
automationBranch:
description: 'Set the branch to use for automation tests'
required: false
default: 'main'
type: string
deployAndRetrieve:
description: 'Deploy and Retrieve'
required: false
default: true
type: boolean
manifestBuilder:
description: 'Manifest Builder'
required: false
default: true
type: boolean
orgBrowser:
description: 'Org Browser'
required: false
default: true
type: boolean
pushAndPull:
description: 'Push and Pull'
required: false
default: true
type: boolean
mdDeployRetrieve:
description: 'Metadata Deploy and Retrieve'
required: false
default: true
type: boolean
vscodeVersion:
description: 'VSCode Version'
required: false
default: 'stable'
type: string
runId:
description: 'Run ID of the workflow run that created the vsixes'
required: true
type: string
workflow_call:
inputs:
automationBranch:
description: 'Set the branch to use for automation tests'
required: false
default: 'main'
type: string
deployAndRetrieve:
description: 'Deploy and Retrieve'
required: false
default: true
type: boolean
manifestBuilder:
description: 'Manifest Builder'
required: false
default: true
type: boolean
orgBrowser:
description: 'Org Browser'
required: false
default: true
type: boolean
pushAndPull:
description: 'Push and Pull'
required: false
default: true
type: boolean
mdDeployRetrieve:
description: 'Metadata Deploy and Retrieve'
required: false
default: true
type: boolean
vscodeVersion:
description: 'VSCode Version'
required: false
default: 'stable'
type: string
runId:
description: 'Run ID of the workflow run that created the vsixes'
required: false
type: string
jobs:
deployAndRetrieve:
if: ${{ inputs.deployAndRetrieve }}
uses: ./.github/workflows/runE2ETest.yml
secrets: inherit
with:
automationBranch: ${{ inputs.automationBranch }}
automationRepo: 'salesforcedx-vscode-automation-tests-redhat'
testToRun: 'deployAndRetrieve.e2e.js'
vscodeVersion: ${{ inputs.vscodeVersion }}
runId: ${{ inputs.runId }}
manifestBuilder:
if: ${{ inputs.manifestBuilder }}
uses: ./.github/workflows/runE2ETest.yml
secrets: inherit
with:
automationBranch: ${{ inputs.automationBranch }}
automationRepo: 'salesforcedx-vscode-automation-tests-redhat'
testToRun: 'manifestBuilder.e2e.js'
vscodeVersion: ${{ inputs.vscodeVersion }}
runId: ${{ inputs.runId }}
orgBrowser:
if: ${{ inputs.orgBrowser }}
uses: ./.github/workflows/runE2ETest.yml
secrets: inherit
with:
automationBranch: ${{ inputs.automationBranch }}
automationRepo: 'salesforcedx-vscode-automation-tests-redhat'
testToRun: 'orgBrowser.e2e.js'
vscodeVersion: ${{ inputs.vscodeVersion }}
runId: ${{ inputs.runId }}
pushAndPull:
if: ${{ inputs.pushAndPull }}
uses: ./.github/workflows/runE2ETest.yml
secrets: inherit
with:
automationBranch: ${{ inputs.automationBranch }}
automationRepo: 'salesforcedx-vscode-automation-tests-redhat'
testToRun: 'pushAndPull.e2e.js'
vscodeVersion: ${{ inputs.vscodeVersion }}
runId: ${{ inputs.runId }}
mdDeployRetrieve:
if: ${{ inputs.mdDeployRetrieve && inputs.vscodeVersion == 'stable'}}
uses: ./.github/workflows/runE2ETest.yml
secrets: inherit
with:
automationBranch: ${{ inputs.automationBranch }}
automationRepo: 'salesforcedx-vscode-automation-tests-redhat'
testToRun: 'metadataDeployRetrieve.e2e.js'
vscodeVersion: ${{ inputs.vscodeVersion }}
runId: ${{ inputs.runId }}
slack_success_notification:
if: ${{ success() }}
needs: [deployAndRetrieve, manifestBuilder, orgBrowser, pushAndPull, mdDeployRetrieve]
uses: ./.github/workflows/slackNotification.yml
secrets: inherit
with:
title: 'Deploy and Retrieve E2E Tests'
vscodeVersion: ${{ inputs.vscodeVersion }}
testsBranch: ${{ inputs.automationBranch }}
summary: '\n- Deploy and Retrieve: ${{ needs.deployAndRetrieve.result }}\n- Manifest Builder: ${{ needs.manifestBuilder.result }}\n- Org Browser: ${{ needs.orgBrowser.result }}\n- Push and Pull: ${{ needs.pushAndPull.result }}\n- MD Deploy and Retrieve: ${{needs.mdDeployRetrieve.result}} '
result: 'All the tests passed.'
workflow: 'actions/runs/${{ github.run_id }}'
type: 'e2e'
slack_failure_notification:
if: ${{ failure() }}
needs: [deployAndRetrieve, manifestBuilder, orgBrowser, pushAndPull, mdDeployRetrieve]
uses: ./.github/workflows/slackNotification.yml
secrets: inherit
with:
title: 'Deploy and Retrieve E2E Tests'
vscodeVersion: ${{ inputs.vscodeVersion }}
testsBranch: ${{ inputs.automationBranch }}
summary: '\n- Deploy and Retrieve: ${{ needs.deployAndRetrieve.result }}\n- Manifest Builder: ${{ needs.manifestBuilder.result }}\n- Org Browser: ${{ needs.orgBrowser.result }}\n- Push and Pull: ${{ needs.pushAndPull.result }}\n- MD Deploy and Retrieve: ${{needs.mdDeployRetrieve.result}} '
result: 'Not all the tests passed.'
workflow: 'actions/runs/${{ github.run_id }}'
type: 'e2e'
slack_cancelled_notification:
if: ${{ cancelled() }}
needs: [deployAndRetrieve, manifestBuilder, orgBrowser, pushAndPull, mdDeployRetrieve]
uses: ./.github/workflows/slackNotification.yml
secrets: inherit
with:
title: 'Deploy and Retrieve E2E Tests'
vscodeVersion: ${{ inputs.vscodeVersion }}
testsBranch: ${{ inputs.automationBranch }}
summary: '\n- Deploy and Retrieve: ${{ needs.deployAndRetrieve.result }}\n- Manifest Builder: ${{ needs.manifestBuilder.result }}\n- Org Browser: ${{ needs.orgBrowser.result }}\n- Push and Pull: ${{ needs.pushAndPull.result }}\n- MD Deploy and Retrieve: ${{needs.mdDeployRetrieve.result}} '
result: 'The workflow was cancelled.'
workflow: 'actions/runs/${{ github.run_id }}'
type: 'e2e'