Skip to content

Run All Docker Cluster Tests #6

Run All Docker Cluster Tests

Run All Docker Cluster Tests #6

name: 'Run All Docker Cluster Tests'
on:
push:
branches:
- main
tags:
- 'release_*'
schedule:
- cron: '8 13 * * 1-5'
workflow_dispatch:
jobs:
####################
# Build HarperDB
####################
build:
uses: ./.github/workflows/build.yaml
# # These values should only be used to debug the workflow
# with:
# preferDownload: true
# dummyLicense: true
##########################
# Build Container Image
##########################
dockerBuild:
needs: build
strategy:
fail-fast: false
matrix:
flavor:
- 'standard'
- 'openshift'
platform:
- 'amd64'
- 'arm64'
include:
- flavor: 'standard'
file: 'utility/Docker/Dockerfile'
- flavor: 'openshift'
file: 'utility/Docker/Dockerfile-openshift'
runs-on: ubuntu-latest
steps:
- name: checkout repo
uses: actions/checkout@v4
- name: docker-build
uses: ./.github/docker-build
with:
harperdbVersion: ${{ needs.build.outputs.harperdbVersion }}
containerImage: 'tar'
containerTarball: docker-harperdb_${{ needs.build.outputs.harperdbVersion }}-${{ matrix.flavor }}-${{ matrix.platform }}-${{ github.run_number }}.tar
dockerFile: ${{ matrix.file }}
buildPlatforms: 'linux/${{ matrix.platform }}'
#####################
# Security Scanning #
#####################
- name: Run Trivy vulnerability scanner
continue-on-error: true
uses: ./.github/container-scanning
with:
containerTarball: docker-harperdb_${{ needs.build.outputs.harperdbVersion }}-${{ matrix.flavor }}-${{ matrix.platform }}-${{ github.run_number }}.tar
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
##############################
# Call Docker Test template
# cluster test a
#############################
cluster-test-a:
needs:
- build
- dockerBuild
uses: ./.github/workflows/docker-cluster-test.yaml
strategy:
fail-fast: false
matrix:
flavor:
- 'standard'
- 'openshift'
platform:
- 'amd64'
- 'arm64'
with:
harperdbVersion: ${{ needs.build.outputs.harperdbVersion }}
dockerArtifactSuffix: '${{ matrix.flavor }}-${{ matrix.platform}}-${{ github.run_number }}'
clusterTest: 'test/ci-tests/docker-cluster-test-a.sh'
tfArtifactSuffix: '-test-a'
secrets: inherit
##############################
# Call Docker Test template
# cluster test b
#############################
cluster-test-b:
needs:
- build
- dockerBuild
uses: ./.github/workflows/docker-cluster-test.yaml
strategy:
fail-fast: false
matrix:
flavor:
- 'standard'
- 'openshift'
platform:
- 'amd64'
- 'arm64'
with:
harperdbVersion: ${{ needs.build.outputs.harperdbVersion }}
dockerArtifactSuffix: '${{ matrix.flavor }}-${{ matrix.platform}}-${{ github.run_number }}'
clusterTest: 'test/ci-tests/docker-cluster-test-b.sh'
tfArtifactSuffix: '-test-b'
secrets: inherit
##############################
# Call Docker Test template
# cluster test c
#############################
cluster-test-c:
needs:
- build
- dockerBuild
uses: ./.github/workflows/docker-cluster-test.yaml
strategy:
fail-fast: false
matrix:
flavor:
- 'standard'
- 'openshift'
platform:
- 'amd64'
- 'arm64'
with:
harperdbVersion: ${{ needs.build.outputs.harperdbVersion }}
dockerArtifactSuffix: '${{ matrix.flavor }}-${{ matrix.platform}}-${{ github.run_number }}'
clusterTest: 'test/ci-tests/docker-cluster-test-c.sh'
tfArtifactSuffix: '-test-c'
secrets: inherit
#################################
# Send Slack Message on failure
#################################
sendSlackMessage:
uses: ./.github/workflows/post-to-slack-channel.yaml
if: ${{ failure() && (github.event_name == 'schedule' || github.event_name == 'push') }}
secrets: inherit
needs:
- build
- cluster-test-a
- cluster-test-b
- cluster-test-c