|
| 1 | +name: Kind Chaos Mesh CI |
| 2 | + |
| 3 | +on: |
| 4 | + push: |
| 5 | + branches: |
| 6 | + - master |
| 7 | + paths: |
| 8 | + - "**.yaml" |
| 9 | + - ".github/workflows/kind-chaos-mesh-ci.yml" |
| 10 | + pull_request: |
| 11 | + paths: |
| 12 | + - "**.yaml" |
| 13 | + - ".github/workflows/kind-chaos-mesh-ci.yml" |
| 14 | + |
| 15 | +jobs: |
| 16 | + chaos-mesh-ci: |
| 17 | + runs-on: ubuntu-latest |
| 18 | + steps: |
| 19 | + - name: Kind Cluster |
| 20 | + uses: helm/kind-action@v1.1.0 |
| 21 | + |
| 22 | + - name: Print cluster information |
| 23 | + run: | |
| 24 | + kubectl config view |
| 25 | + kubectl cluster-info |
| 26 | + kubectl get nodes |
| 27 | + kubectl get pods -n kube-system |
| 28 | + helm version |
| 29 | + kubectl version |
| 30 | + - uses: actions/checkout@v2 |
| 31 | + |
| 32 | + - name: Deploy an application |
| 33 | + run: | |
| 34 | + kubectl apply -f kubernetes/mysql/mysql-pv.yaml |
| 35 | + kubectl apply -f kubernetes/mysql/mysql-pvc.yaml |
| 36 | + kubectl apply -f kubernetes/mysql/mysql-configmap.yaml |
| 37 | + kubectl apply -f kubernetes/mysql/mysql-secret.yaml |
| 38 | + kubectl apply -f kubernetes/mysql/mysql-deployment.yaml |
| 39 | + kubectl apply -f kubernetes/mysql/mysql-service.yaml |
| 40 | + kubectl apply -f kubernetes/jaxrs-mysql-quarkus/jaxrs-mysql-quarkus-service.yaml |
| 41 | + kubectl apply -f kubernetes/jaxrs-mysql-quarkus/jaxrs-mysql-quarkus-deployment.yaml |
| 42 | +
|
| 43 | + - name: Wait pod status to running |
| 44 | + run: | |
| 45 | + kubectl wait --all-namespaces=true --for=condition=ready pod -l component=quarkus --timeout=3m |
| 46 | + kubectl wait --all-namespaces=true --for=condition=ready pod -l app=mysql --timeout=3m |
| 47 | +
|
| 48 | + - name: Check pods |
| 49 | + run: | |
| 50 | + kubectl get pods -n chaos-testing |
| 51 | + kubectl get pods |
| 52 | +
|
| 53 | + - name: Chaos Mesh |
| 54 | + uses: chaos-mesh/chaos-mesh-action@v0.4 |
| 55 | + env: |
| 56 | + # base64 container-kill.yaml |
| 57 | + CFG_BASE64: YXBpVmVyc2lvbjogY2hhb3MtbWVzaC5vcmcvdjFhbHBoYTENCmtpbmQ6IFBvZENoYW9zDQptZXRhZGF0YToNCiAgbmFtZTogY29udGFpbmVyLWtpbGwNCiAgbmFtZXNwYWNlOiBjaGFvcy10ZXN0aW5nDQpzcGVjOg0KICBhY3Rpb246IGNvbnRhaW5lci1raWxsDQogIG1vZGU6IG9uZQ0KICBjb250YWluZXJOYW1lOiAibXlzcWwiDQogIHNlbGVjdG9yOg0KICAgIG5hbWVzcGFjZXM6DQogICAgICAtIGRlZmF1bHQNCiAgICBsYWJlbFNlbGVjdG9yczoNCiAgICAgICJhcHAiOiAibXlzcWwiDQogIHNjaGVkdWxlcjoNCiAgICBjcm9uOiAiQGV2ZXJ5IDEwbSINCg== |
| 58 | + CHAOS_MESH_VERSION: v1.0.0 |
| 59 | + |
| 60 | + - name: Check pods |
| 61 | + run: | |
| 62 | + for i in `seq 10` |
| 63 | + do |
| 64 | + kubectl get pods -n chaos-testing |
| 65 | + kubectl get pods |
| 66 | + sleep 1 |
| 67 | + done |
| 68 | +
|
| 69 | + - name: check log jaxrs-mysql |
| 70 | + if: always() |
| 71 | + run: | |
| 72 | + kubectl describe po $(kubectl get pods | awk '{print $1}' | grep jaxrs-mysql) |
| 73 | + kubectl logs $(kubectl get pods | awk '{print $1}' | grep jaxrs-mysql) |
| 74 | +
|
| 75 | + - name: check log mysql |
| 76 | + if: always() |
| 77 | + run: | |
| 78 | + kubectl describe po $(kubectl get pods | awk '{print $1}' | grep -E ^mysql) |
| 79 | + kubectl logs $(kubectl get pods | awk '{print $1}' | grep -E ^mysql) -c mysql |
0 commit comments