Skip to content

VCluster API Refresh (#512) #3

VCluster API Refresh (#512)

VCluster API Refresh (#512) #3

Workflow file for this run

name: e2e tests
on:
push:
branches: [main, vnext]
pull_request:
workflow_dispatch:
inputs:
operator_image:
description: 'Name of an existing operator image. Leave blank to build one with the default name'
type: string
required: false
full_vertica_image:
description: 'Name of an existing full vertica image. Leave blank to build one with the default name'
type: string
required: false
nokeys_vertica_image:
description: 'Name of an existing vertica image with no keys inside. Leave blank to build one with the default name'
type: string
required: false
minimal_vertica_image:
description: 'Name of an existing minimal vertica image. Leave blank to build one with the default name'
type: string
required: false
v2_vertica_image:
description: 'Name of a v2 Vertica server image. If blank we will build one using the default name'
type: string
required: false
vlogger_image:
description: 'Name of an existing vlogger image. Leave blank to build oe with the default name'
type: string
required: false
e2e_test_suites:
description: 'E2E test suites to run'
required: false
type: choice
default: all
options:
- all
- none
- admintools s3
- admintools azb
- admintools leg 2
- admintools server upgrade
- admintools operator upgrade
- admintools udx
- admintools hostpath
- admintools enterprise
- admintoold http server
- vcluster s3
- vcluster azb
- vcluster leg 2
- vcluster udx
- vcluster hostpath
run_security_scan:
description: 'What images to scan?'
type: choice
default: 'all, except vertica server'
options:
- all
- none
- all, except vertica server
build_release_assets:
description: 'Build the release assets?'
type: choice
options:
- all
- none
default: all
required: false
reason:
description: 'Descriptive name of the workflow run'
required: false
default: ''
run-name: ${{ inputs.reason }}
jobs:
build:
uses: ./.github/workflows/build-images.yml
with:
vlogger_image: ${{ inputs.vlogger_image }}
operator_image: ${{ inputs.operator_image }}
minimal_vertica_image: ${{ inputs.minimal_vertica_image }}
full_vertica_image: ${{ inputs.full_vertica_image }}
nokeys_vertica_image: ${{ inputs.nokeys_vertica_image }}
v2_vertica_image: ${{ inputs.v2_vertica_image }}
run_security_scan: ${{ inputs.run_security_scan }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
unittests:
uses: ./.github/workflows/unittests.yml
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
scorecardtests:
uses: ./.github/workflows/scorecardtests.yml
build-release-assets:
uses: ./.github/workflows/build-release-assets.yml
if: ${{ inputs.build_release_assets == 'all' || inputs.build_release_assests == '' }}
e2e-s3:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools s3' || inputs.e2e_test_suites == '' }}
needs: [build]
uses: ./.github/workflows/e2e-s3.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.minimal-vertica-image }}
vertica-deployment-method: admintools
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-s3-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'vcluster s3' || inputs.e2e_test_suites == '')}}
needs: [build]
uses: ./.github/workflows/e2e-s3.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.v2-vertica-image }}
vertica-deployment-method: vclusterops
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-leg-2:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools leg 2' || inputs.e2e_test_suites == '' }}
needs: [build]
uses: ./.github/workflows/e2e-leg-2.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.minimal-vertica-image }}
vertica-deployment-method: admintools
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-leg-2-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 2' || inputs.e2e_test_suites == '')}}
needs: [build]
uses: ./.github/workflows/e2e-leg-2.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.v2-vertica-image }}
vertica-deployment-method: vclusterops
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-azb:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools azb' || inputs.e2e_test_suites == '' }}
needs: [build]
uses: ./.github/workflows/e2e-azb.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.nokeys-vertica-image }}
vertica-deployment-method: admintools
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-azb-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster azb' || inputs.e2e_test_suites == '')}}
needs: [build]
uses: ./.github/workflows/e2e-azb.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.v2-vertica-image }}
vertica-deployment-method: vclusterops
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-hostpath:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools hostpath' || inputs.e2e_test_suites == '' }}
needs: [build]
uses: ./.github/workflows/e2e-hostpath.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
vertica-deployment-method: admintools
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-hostpath-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster hostpath' || inputs.e2e_test_suites == '')}}
needs: [build]
uses: ./.github/workflows/e2e-hostpath.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.v2-vertica-image }}
vertica-deployment-method: vclusterops
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-http-server:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools http server' || inputs.e2e_test_suites == '' }}
needs: [build]
uses: ./.github/workflows/e2e-http-server.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.minimal-vertica-image }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-server-upgrade:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools server upgrade' || inputs.e2e_test_suites == '' }}
needs: [build]
uses: ./.github/workflows/e2e-server-upgrade.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.minimal-vertica-image }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-operator-upgrade:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools operator upgrade' || inputs.e2e_test_suites == '' }}
needs: [build]
uses: ./.github/workflows/e2e-operator-upgrade.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-udx:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools udx' || inputs.e2e_test_suites == '' }}
needs: [build]
uses: ./.github/workflows/e2e-udx.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
# We must pass the full image since the minimal image cannot run Java UDx's
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
vertica-deployment-method: admintools
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-udx-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster udx' || inputs.e2e_test_suites == '')}}
needs: [build]
uses: ./.github/workflows/e2e-udx.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
# We must pass the full image since the minimal image cannot run Java UDx's
vertica-image: ${{ needs.build.outputs.v2-vertica-image }}
vertica-deployment-method: vclusterops
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
e2e-enterprise:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools enterprise' || inputs.e2e_test_suites == '' }}
needs: [build]
uses: ./.github/workflows/e2e-enterprise.yml
with:
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}