From f25529a4c1a52e41b7c87ddb26d317ac38ee2133 Mon Sep 17 00:00:00 2001 From: Allan Roger Reid Date: Fri, 16 Dec 2022 12:40:42 -0800 Subject: [PATCH] Helm test floor (#5) * Add new job to test Kubernetes 1.20 Adding new job to test for the last supported version of kubernetes * Fix shell script format * Bump K8s floor to 1.21.14 * Test floor Co-authored-by: dilverse <109769432+dilverse@users.noreply.github.com> --- .github/workflows/helm.yaml | 28 ++++++++++++++++++++++++-- .github/workflows/kubernetes-tests.yml | 3 +-- .github/workflows/shellcheck.yaml | 3 +-- .github/workflows/vulncheck.yml | 7 +------ testing/common.sh | 6 +++++- testing/kind-config-floor.yaml | 14 +++++++++++++ 6 files changed, 48 insertions(+), 13 deletions(-) create mode 100644 testing/kind-config-floor.yaml diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml index d89f2a00659..d93c0ffc468 100644 --- a/.github/workflows/helm.yaml +++ b/.github/workflows/helm.yaml @@ -5,8 +5,7 @@ name: Add build automation for Helm Chart # Controls when the workflow will run on: # Triggers the workflow on pull request events but only for the main branch - pull_request: - branches: [ master ] + workflow_dispatch # This ensures that previous jobs for the PR are canceled when the PR is # updated. @@ -40,3 +39,28 @@ jobs: chmod +x kubectl mv kubectl /usr/local/bin "${GITHUB_WORKSPACE}/testing/check-helm.sh" + build-floor: + # The type of runner that the job will run on + runs-on: ${{ matrix.os }} + strategy: + matrix: + go-version: [1.18.x] + os: [ubuntu-latest] + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + - uses: actions/setup-go@v2 + with: + go-version: ${{ matrix.go-version }} + + # Runs a set of commands using the runners shell + - name: Deploy a MinIO Tenant on Kind + env: + TEST_FLOOR: true + run: | + curl -sLO "https://dl.k8s.io/release/v1.23.1/bin/linux/amd64/kubectl" -o kubectl + chmod +x kubectl + mv kubectl /usr/local/bin + "${GITHUB_WORKSPACE}/testing/check-helm.sh" diff --git a/.github/workflows/kubernetes-tests.yml b/.github/workflows/kubernetes-tests.yml index 13f7b200c84..adbda7ebc82 100644 --- a/.github/workflows/kubernetes-tests.yml +++ b/.github/workflows/kubernetes-tests.yml @@ -1,7 +1,6 @@ name: Tenant Tests On Kind on: - pull_request: - branches: [ master ] + workflow_dispatch concurrency: group: ${{ github.workflow }}-${{ github.head_ref }} cancel-in-progress: true diff --git a/.github/workflows/shellcheck.yaml b/.github/workflows/shellcheck.yaml index 1d36c630100..62f3533fe3d 100644 --- a/.github/workflows/shellcheck.yaml +++ b/.github/workflows/shellcheck.yaml @@ -1,8 +1,7 @@ # Controls when the workflow will run on: # Triggers the workflow on pull request events but only for the main branch - pull_request: - branches: [ master ] + workflow_dispatch name: 'Trigger: Push action' diff --git a/.github/workflows/vulncheck.yml b/.github/workflows/vulncheck.yml index 94bd14a45b1..8869f8d1230 100644 --- a/.github/workflows/vulncheck.yml +++ b/.github/workflows/vulncheck.yml @@ -1,11 +1,6 @@ name: VulnCheck on: - pull_request: - branches: - - master - push: - branches: - - master + workflow_dispatch jobs: vulncheck: name: Analysis diff --git a/testing/common.sh b/testing/common.sh index 269f6e37c05..83c3b6e41f6 100644 --- a/testing/common.sh +++ b/testing/common.sh @@ -40,7 +40,11 @@ die() { try() { "$@" || die "cannot $*"; } function setup_kind() { - try kind create cluster --config "${SCRIPT_DIR}/kind-config.yaml" + if [ "$TEST_FLOOR" = "true" ]; then + try kind create cluster --config "${SCRIPT_DIR}/kind-config-floor.yaml" + else + try kind create cluster --config "${SCRIPT_DIR}/kind-config.yaml" + fi echo "Kind is ready" try kubectl get nodes } diff --git a/testing/kind-config-floor.yaml b/testing/kind-config-floor.yaml new file mode 100644 index 00000000000..f47a644ee64 --- /dev/null +++ b/testing/kind-config-floor.yaml @@ -0,0 +1,14 @@ +# four node (two workers) cluster config +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +nodes: + - role: control-plane + image: kindest/node:v1.21.14 + - role: worker + image: kindest/node:v1.21.14 + - role: worker + image: kindest/node:v1.21.14 + - role: worker + image: kindest/node:v1.21.14 + - role: worker + image: kindest/node:v1.21.14