delint #105
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
name: 'Build & Test' | ||
on: | ||
- push | ||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: [3.8, 3.9, "3.10", "3.11", "3.12"] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up PDM | ||
uses: pdm-project/setup-pdm@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
cache: true | ||
prerelease: true | ||
- name: Ensure lock file is up to date | ||
run: | | ||
pdm lock --check | ||
- name: Install dependencies | ||
run: | | ||
pdm sync -d | ||
- name: Run Lint | ||
run: | | ||
pdm run lint | ||
- name: Run Tests | ||
run: | | ||
pdm run pytest | ||
ci: | ||
runs-on: ubuntu-latest | ||
needs: | ||
- test | ||
steps: | ||
- name: 'Checkout' | ||
uses: actions/checkout@v4 | ||
- name: 'Kustomize Build' | ||
uses: karancode/kustomize-github-action@master | ||
with: | ||
kustomize_version: '5.3.0' | ||
kustomize_build_dir: './manifests/overlays/generic-rbac' | ||
kustomize_output_file: "operator.yaml" | ||
enable_alpha_plugins: false | ||
- name: Create k8s Kind Cluster | ||
uses: helm/kind-action@v1 | ||
with: | ||
kubectl_version: "v1.28.6" | ||
- name: 'Check K8s server is up&running' | ||
run: | | ||
sleep 10 | ||
kubectl get nodes | ||
kubectl get pods -A | ||
- name: 'Install the operator' | ||
run: | | ||
kubectl apply -f operator.yaml | ||
- name: 'List namespaces' | ||
run: | | ||
kubectl get ns | ||
- name: 'Check operator pod is running' | ||
run: | | ||
sleep 60 | ||
kubectl -n chaostoolkit-crd get deploy | ||
kubectl -n chaostoolkit-crd get pods | ||
- name: 'Create the example experiment' | ||
run: | | ||
kubectl apply -f examples/basic.yaml | ||
- name: 'Check the chaostoolkit experiment' | ||
run: | | ||
kubectl -n chaostoolkit-crd get ctk | ||
- name: 'Wait for experiment pod to run (docker pull & run experiment)' | ||
run: | | ||
sleep 120 | ||
kubectl -n chaostoolkit-run get pods | ||
- name: 'Check operator logs' | ||
run: | | ||
kubectl -n chaostoolkit-crd logs -l app=chaostoolkit-crd | ||
- name: 'Check chaostoolkit pod logs' | ||
run: | | ||
kubectl -n chaostoolkit-run logs -l app=chaostoolkit | ||
- name: 'Assert experiment succeeded' | ||
run: | | ||
kubectl -n chaostoolkit-run get pods | grep chaos | grep Completed |