Skip to content

Deploy and Retrieve End to End Tests #14

Deploy and Retrieve End to End Tests

Deploy and Retrieve End to End Tests #14

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: 'develop'
type: string
deployAndRetrieve:
description: 'Deploy and Retrieve'
required: false
default: true
type: boolean
# diffAndConflictDetection:
# description: "Diff and Conflict Detection"
# 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
vscodeVersion:
description: 'VSCode Version'
required: false
default: '1.85.2'
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: 'develop'
type: string
deployAndRetrieve:
description: 'Deploy and Retrieve'
required: false
default: true
type: boolean
# diffAndConflictDetection:
# description: "Diff and Conflict Detection"
# 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
vscodeVersion:
description: 'VSCode Version'
required: false
default: '1.85.2'
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 }}
testToRun: 'deployAndRetrieve.e2e.ts'
vscodeVersion: ${{ inputs.vscodeVersion || '1.85.2' }}
runId: ${{ inputs.runId }}
# diffAndConflictDetection:
# if: ${{ inputs.diffAndConflictDetection }}
# uses: ./.github/workflows/runE2ETest.yml
# secrets: inherit
# with:
# automationBranch: ${{ inputs.automationBranch }}
# testToRun: "diffAndConflictDetection.e2e.ts"
# vscodeVersion: ${{ inputs.vscodeVersion || '1.85.2' }}
# runId: ${{ inputs.runId }}
manifestBuilder:
if: ${{ inputs.manifestBuilder }}
uses: ./.github/workflows/runE2ETest.yml
secrets: inherit
with:
automationBranch: ${{ inputs.automationBranch }}
testToRun: 'manifestBuilder.e2e.ts'
vscodeVersion: ${{ inputs.vscodeVersion || '1.85.2' }}
runId: ${{ inputs.runId }}
orgBrowser:
if: ${{ inputs.orgBrowser }}
uses: ./.github/workflows/runE2ETest.yml
secrets: inherit
with:
automationBranch: ${{ inputs.automationBranch }}
testToRun: 'orgBrowser.e2e.ts'
vscodeVersion: ${{ inputs.vscodeVersion || '1.85.2' }}
runId: ${{ inputs.runId }}
pushAndPull:
if: ${{ inputs.pushAndPull }}
uses: ./.github/workflows/runE2ETest.yml
secrets: inherit
with:
automationBranch: ${{ inputs.automationBranch }}
testToRun: 'pushAndPull.e2e.ts'
vscodeVersion: ${{ inputs.vscodeVersion || '1.85.2' }}
runId: ${{ inputs.runId }}
slack_success_notification:
if: ${{ success() }}
needs: [
deployAndRetrieve,
# diffAndConflictDetection,
manifestBuilder,
orgBrowser,
pushAndPull,
]
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- Diff and Conflict Detection: ${{ needs.diffAndConflictDetection.result }}\n- Manifest Builder: ${{ needs.manifestBuilder.result }}\n- Org Browser: ${{ needs.orgBrowser.result }}\n- Push and Pull: ${{ needs.pushAndPull.result }}'
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 }}'
result: 'All the tests passed.'
workflow: 'actions/runs/${{ github.run_id }}'
type: 'e2e'
slack_failure_notification:
if: ${{ failure()}}
needs: [
deployAndRetrieve,
# diffAndConflictDetection,
manifestBuilder,
orgBrowser,
pushAndPull,
]
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- Diff and Conflict Detection: ${{ needs.diffAndConflictDetection.result }}\n- Manifest Builder: ${{ needs.manifestBuilder.result }}\n- Org Browser: ${{ needs.orgBrowser.result }}\n- Push and Pull: ${{ needs.pushAndPull.result }}'
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 }}'
result: 'Not all the tests passed.'
workflow: 'actions/runs/${{ github.run_id }}'
type: 'e2e'
slack_cancelled_notification:
if: ${{ cancelled() }}
needs: [
deployAndRetrieve,
# diffAndConflictDetection,
manifestBuilder,
orgBrowser,
pushAndPull,
]
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- Diff and Conflict Detection: ${{ needs.diffAndConflictDetection.result }}\n- Manifest Builder: ${{ needs.manifestBuilder.result }}\n- Org Browser: ${{ needs.orgBrowser.result }}\n- Push and Pull: ${{ needs.pushAndPull.result }}'
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 }}'
result: 'The workflow was cancelled.'
workflow: 'actions/runs/${{ github.run_id }}'
type: 'e2e'