Skip to content

Nightly - Lint/Test Redpanda-Chart With Latest Unstable (RC) Redpanda #394

Nightly - Lint/Test Redpanda-Chart With Latest Unstable (RC) Redpanda

Nightly - Lint/Test Redpanda-Chart With Latest Unstable (RC) Redpanda #394

---
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This is to test only the Redpanda Chart Nightly
name: Nightly - Lint/Test Redpanda-Chart With Latest Unstable (RC) Redpanda
on:
schedule:
- cron: '0 2 * * 1-5' # 01:00 AM UTC Monday - Friday
workflow_dispatch: {}
defaults:
run:
shell: nix develop --impure --command bash {0}
jobs:
test-redpanda-nightly:
name: Run ct tests for ci values matching ${{ matrix.testvaluespattern }} for Redpanda nightly build
strategy:
matrix:
testvaluespattern:
- '0[1-3]*'
- '0[4-6]*'
- '0[7-9]*'
- '1[0-1]*'
- '12*'
- '13*'
- '14*'
- '15*'
- '1[6-7]*'
- '18*'
fail-fast: false
runs-on: ubuntu-22.04
steps:
- uses: cachix/install-nix-action@v30
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: |
git checkout main
git checkout -
- name: Set up for matrix
run: |
echo bash -O extglob -c "rm -v charts/redpanda/ci/!(${{ matrix.testvaluespattern }})"
bash -O extglob -c "rm -v charts/redpanda/ci/!(${{ matrix.testvaluespattern }})"
- run: go install github.com/joejulian/docker-tag-list@latest
- name: Get latest nightly tag
id: latestTag
run: |
export TAG=$(curl "https://hub.docker.com/v2/namespaces/redpandadata/repositories/redpanda-unstable/tags?page_size=25" | jq -r '.results | map(select(.images | length >= 2))[0].name')
echo "Latest RC: $TAG"
echo "TAG=$TAG" >> "$GITHUB_OUTPUT"
- name: Create kind cluster
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
with:
config: .github/kind.yaml
- name: Check kind config worked
run: kubectl get nodes
- name: Annotate nodes for rack awareness
run: .github/annotate_kind_nodes.sh chart-testing
# ===== Required Test Files === start
- name: Create tls helm templates
run: .github/create_tls.sh "random-domain"
- name: Create sasl secret templates
run: .github/create-sasl-secret.sh "some-users"
- name: Move files to redpanda template dir
run: |
mv external-tls-secret.yaml charts/redpanda/templates/
cp .github/external-service.yaml charts/redpanda/templates/
mv some-users-updated.yaml charts/redpanda/templates
# ===== Required Test Files === end
- name: Install cert-manager
run: task helm:install:cert-manager
- name: Install prometheus-operator
run: task helm:install:kube-prometheus-stack
- name: Install metallb
run: task helm:install:metallb
- name: Run chart-testing install
run: |
ct install \
--github-groups \
--config .github/ct-redpanda.yaml \
--helm-extra-set-args="--set=image.tag=${{ steps.latestTag.outputs.TAG }} --set=image.repository=redpandadata/redpanda-unstable" \
--skip-missing-values