Skip to content

Commit

Permalink
Rethink the db-operator chart testing (#16)
Browse files Browse the repository at this point in the history
Co-authored-by: Denis Dabischa <[email protected]>
  • Loading branch information
allanger and Denis Dabischa authored Jan 17, 2024
1 parent c67b1a9 commit e3d5959
Show file tree
Hide file tree
Showing 66 changed files with 1,647 additions and 1,170 deletions.
33 changes: 0 additions & 33 deletions .github/workflows/chart-release.yaml

This file was deleted.

59 changes: 0 additions & 59 deletions .github/workflows/db-instances-test.yaml

This file was deleted.

134 changes: 134 additions & 0 deletions .github/workflows/helm-workflow.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: Helm
on: push
env:
HELM_VERSION: v3.12.1
PYTHON_VERSION: 3.9
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v3
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: ${{ env.HELM_VERSION }}
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
check-latest: true
- name: Set up chart-testing
uses: helm/[email protected]
- name: Run chart-testing (lint)
run: ct lint --target-branch main --validate-maintainers=false
test-values:
needs: lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Run the test
run: |
cd charts/db-operator
./scripts/test_values -p ./ci/unit-test
test:
needs: test-values
runs-on: ubuntu-latest
strategy:
matrix:
k8s_version:
- v1.22.15
- v1.23.17
- v1.24.15
- v1.25.11
- v1.26.6
- v1.27.3
- v1.28.0
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v3
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: ${{ env.HELM_VERSION }}
- uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
check-latest: true
- name: Set up chart-testing
uses: helm/[email protected]
# It's not used anymore, but it's a small step, maybe we'll need it in the future, so let it be here
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }})
if [[ -n "$changed" ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Setup helmfile
uses: mamezou-tech/[email protected]
- name: Prepare a config for the kind cluster
run: |
cat > kind-config.yaml <<EOF
# three node (two workers) cluster config
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
EOF
- name: Create kind cluster
uses: helm/[email protected]
with:
node_image: kindest/node:${{ matrix.k8s_version }}
config: ./kind-config.yaml
- name: Test db-operator charts install
run: |
helmfile -l name=prometheus-stack sync
helmfile sync
ct install --target-branch main --charts ./charts/db-operator
helmfile destroy
# -- TODO: Enable it when new tests are used in main
# - name: Test db-operator charts upgrade
# run: make test-upgrade
- name: Test db-instances charts install
run: |
helmfile -l name=prometheus-stack sync
helmfile sync -e instances
kubectl rollout status deploy/db-operator -n db-operator
kubectl rollout status deploy/db-operator-webhook -n db-operator
ct install --target-branch main --charts ./charts/db-instances
helmfile destroy
# -- TODO: Enable it when new tests are used in main
# - name: Test db-instances charts upgrade
# run: make test-upgrade-instances
release:
runs-on: ubuntu-latest
needs: test
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
- name: Install Helm
uses: azure/setup-helm@v3
with:
version: v3.9.4
- name: Run chart-releaser
uses: helm/[email protected]
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
119 changes: 0 additions & 119 deletions .github/workflows/test.yaml

This file was deleted.

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
bin

ci-gen*.yaml
2 changes: 2 additions & 0 deletions .yamlfmt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
formatter:
pad_line_comments: 2
Loading

0 comments on commit e3d5959

Please sign in to comment.