Skip to content

Commit

Permalink
Add workflow_dispatch job
Browse files Browse the repository at this point in the history
  • Loading branch information
emerkle826 committed Dec 1, 2022
1 parent 93419bb commit 4f8210f
Showing 1 changed file with 289 additions and 0 deletions.
289 changes: 289 additions & 0 deletions .github/workflows/workflow-integration-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,289 @@
name: Run Integration tests against specific server versons (Cassandra 3.11, Cassandra 4.0 and DSE 6.8)

on:
workflow_dispatch:
inputs:
version:
description: 'Select the Cassandra or DSE version to run tests against'
required: true
default: '4.0'
type: choice
options:
- '3.11'
- '4.0'
- '6.8'
- 'ALL'

jobs:
build_docker_images:
name: Build Docker Images
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and push
id: docker_build
uses: docker/build-push-action@v3
with:
file: Dockerfile
context: .
push: false
tags: k8ssandra/cass-operator:latest
platforms: linux/amd64
outputs: type=docker,dest=/tmp/k8ssandra-cass-operator.tar
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Build and push
uses: docker/build-push-action@v3
with:
file: logger.Dockerfile
push: false
tags: k8ssandra/system-logger:latest
outputs: type=docker,dest=/tmp/k8ssandra-system-logger.tar
platforms: linux/amd64
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Upload cass-operator image
uses: actions/upload-artifact@v3
with:
name: cass-operator
path: /tmp/k8ssandra-cass-operator.tar
- name: Upload system-logger image
uses: actions/upload-artifact@v3
with:
name: system-logger
path: /tmp/k8ssandra-system-logger.tar
kind_311_tests:
if: ${{ inputs.version == '3.11' || inputs.version == 'ALL' }}
needs: build_docker_images
strategy:
matrix:
integration_test:
- canary_upgrade
- upgrade_operator
- cdc_successful
- additional_seeds
- scale_down_unbalanced_racks
- config_secret
- rolling_restart
- decommission_dc
runs-on: ubuntu-latest
env:
CGO_ENABLED: 0
M_INTEG_DIR: ${{ matrix.integration_test }}
steps:
- uses: actions/checkout@v3
if: github.event_name == 'pull_request'
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/checkout@v3
if: github.event_name != 'pull_request'
- uses: ./.github/actions/run-integ-test
with:
integration_test: ${{ matrix.integration_test }}
- name: Archive k8s logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: k8s-logs-${{ matrix.integration_test }}
path: ./build/kubectl_dump

kind_40_tests:
if: ${{ inputs.version == '4.0' || inputs.version == 'ALL' }}
needs: build_docker_images
strategy:
matrix:
version:
- "4.0.7"
integration_test:
- config_fql
- cdc_successful
- config_secret
- rolling_restart
- decommission_dc
runs-on: ubuntu-latest
env:
CGO_ENABLED: 0
M_INTEG_DIR: ${{ matrix.integration_test }}
M_SERVER_VERSION: ${{ matrix.version }}
steps:
- uses: actions/checkout@v3
if: github.event_name == 'pull_request'
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/checkout@v3
if: github.event_name != 'pull_request'
- uses: ./.github/actions/run-integ-test
with:
integration_test: ${{ matrix.integration_test }}
- name: Archive k8s logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: k8s-logs-${{ matrix.integration_test }}-${{ matrix.version }}
path: ./build/kubectl_dump

kind_dse_tests:
if: ${{ inputs.version == '6.8' || inputs.version == 'ALL' }}
needs: build_docker_images
strategy:
matrix:
version:
- "6.8.29"
integration_test:
#- delete_node_lost_readiness #TODO: fix in https://github.com/k8ssandra/cass-operator/issues/459
- additional_seeds
include:
- version: "6.8.29"
serverImage: datastax/dse-mgmtapi-6_8:6.8.29-jdk8
serverType: dse
runs-on: ubuntu-latest
env:
CGO_ENABLED: 0
M_INTEG_DIR: ${{ matrix.integration_test }}
M_SERVER_VERSION: ${{ matrix.version }}
M_SERVER_TYPE: dse
steps:
- uses: actions/checkout@v3
if: github.event_name == 'pull_request'
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/checkout@v3
if: github.event_name != 'pull_request'
- uses: ./.github/actions/run-integ-test
with:
integration_test: ${{ matrix.integration_test }}
- name: Archive k8s logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: k8s-logs-${{ matrix.integration_test }}-dse-${{ matrix.version }}
path: ./build/kubectl_dump

kind_int_tests:
needs: build_docker_images
strategy:
matrix:
version:
- "3.11.14"
- "4.0.7"
- "6.8.29"
integration_test:
# Single worker tests:
- additional_serviceoptions
- additional_volumes
# - delete_node_terminated_container # This does not test any operator behavior
- podspec_simple
# - smoke_test_oss # Converted to test_all_the_things, see below job
# - smoke_test_dse # Converted to test_all_the_things, see below job
- terminate
- timeout_prestop_termination
# - upgrade_operator # See kind_311_tests job
- webhook_validation
# Three worker tests:
# - canary_upgrade # See kind_311_tests job
- config_change_condition
# - cdc_successful # CDC is OSS only , see kind_311_tests and kind_40_tests jobs
# - delete_node_lost_readiness # DSE specific behavior see kind_dse_tests job
- host_network
- internode-encryption-generated
#- no_infinite_reconcile # smoke_test_* should take care of this
- node_replace
- nodeport_service
#- rolling_restart #TODO: Fails against DSE, fix in https://github.com/k8ssandra/cass-operator/issues/459
- stop_resume
- superuser-secret-generated
- superuser-secret-provided
- test_bad_config_and_fix
- test_mtls_mgmt_api
# More than 3 workers tests:
- add_racks
#- additional_seeds #TODO: Fails against C* 4.0, fix in https://github.com/k8ssandra/cass-operator/issues/459
- cluster_wide_install
- config_change
#- config_secret #TODO: Fails against DSE, fix in https://github.com/k8ssandra/cass-operator/issues/459
- multi_cluster_management
#- oss_test_all_the_things # This is now the smoke test, see kind_smoke_tests job
- scale_down
# - scale_down_not_enough_space # Not enough stable test
#- scale_down_unbalanced_racks #TODO: Fails against C* 4.0 and DSE, fix in https://github.com/k8ssandra/cass-operator/issues/459
- scale_up
- scale_up_stop_resume
- seed_selection
# - config_fql # OSS only, see above job
#- decommission_dc #TODO: Fails against DSE, fix in https://github.com/k8ssandra/cass-operator/issues/459
# - stop_resume_scale_up # Odd insufficient CPU issues in kind+GHA
include:
- version: "6.8.29"
serverImage: datastax/dse-mgmtapi-6_8:6.8.29-jdk8
serverType: dse
# let other tests continue to run
# even if one fails
fail-fast: false
runs-on: ubuntu-latest
env:
CGO_ENABLED: 0
M_INTEG_DIR: ${{ matrix.integration_test }}
M_SERVER_VERSION: ${{ matrix.version }}
M_SERVER_IMAGE: ${{ matrix.serverImage }}
M_SERVER_TYPE: ${{ matrix.serverType }}
steps:
- uses: actions/checkout@v3
if: github.event_name == 'pull_request'
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/checkout@v3
if: github.event_name != 'pull_request'
- uses: ./.github/actions/run-integ-test
if: ${{ inputs.version == 'ALL' || startsWith( matrix.version, inputs.version ) }}
with:
integration_test: ${{ matrix.integration_test }}
- name: Archive k8s logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: k8s-logs-${{ matrix.integration_test }}-${{ matrix.version }}
path: ./build/kubectl_dump
kind_smoke_tests:
needs: build_docker_images
strategy:
matrix:
version:
- "3.11.14"
- "4.0.7"
- "6.8.29"
include:
- version: 3.11.7
serverImage: k8ssandra/cass-management-api:3.11.7-v0.1.24 # k8ssandra 1.1
- version: 4.0.0
serverImage: k8ssandra/cass-management-api:4.0.0-v0.1.28 # k8ssandra 1.3
- version: 6.8.29
serverImage: datastax/dse-mgmtapi-6_8:6.8.29-jdk8 # DSE 6.8.29
serverType: dse
fail-fast: true
runs-on: ubuntu-latest
env:
CGO_ENABLED: 0
M_INTEG_DIR: test_all_the_things
M_SERVER_VERSION: ${{ matrix.version }}
M_SERVER_IMAGE: ${{ matrix.serverImage }}
M_SERVER_TYPE: ${{ matrix.serverType }}
steps:
- uses: actions/checkout@v3
if: github.event_name == 'pull_request'
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/checkout@v3
if: github.event_name != 'pull_request'
- uses: ./.github/actions/run-integ-test
if: ${{ inputs.version == 'ALL' || startsWith( matrix.version, inputs.version ) }}
with:
integration_test: test_all_the_things
- name: Archive k8s logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: k8s-logs-smoke_test-${{ matrix.version }}
path: ./build/kubectl_dump

0 comments on commit 4f8210f

Please sign in to comment.