forked from k8ssandra/cass-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
93419bb
commit 4f8210f
Showing
1 changed file
with
289 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |