Skip to content

Merge pull request #3398 from yurake/renovate/surefire-plugin.version #832

Merge pull request #3398 from yurake/renovate/surefire-plugin.version

Merge pull request #3398 from yurake/renovate/surefire-plugin.version #832

name: Minikube Quarkus CI
on:
push:
branches:
- master
paths:
- "application/**"
- "kubernetes/**"
- ".github/workflows/minikube-quarkus-ci.yml"
pull_request:
paths:
- ".github/workflows/minikube-quarkus-ci.yml"
jobs:
quarkus-ci:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v3.6.0
- name: delete installed software not use
run: |
df -h /
sudo rm -rf /opt/ghc
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/share/swift
sudo rm -rf /opt/hostedtoolcache/Python
sudo rm -rf /opt/hostedtoolcache/Ruby
df -h /
- name: start minikube
uses: medyagh/setup-minikube@v0.0.18
with:
minikube-version: 1.30.1
kubernetes-version: 1.27.3
driver: docker
container-runtime: docker
cpus: 2
memory: 6144
addons: ingress
- name: minikube settings
run: |
minikube addons list
# https://minikube.sigs.k8s.io/docs/drivers/docker/#troubleshooting
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission
- name: wait for set up ingress
run: |
kubectl wait --all-namespaces=true --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=10m
- name: apply minimal service
run: |
sh ./kubernetes/bin/apply-default-quarkus.sh
sleep 10
- name: Setup bats
uses: mig4/setup-bats@v1.2.0
with:
bats-version: 1.2.1
- name: Run bats
run: bats -r kubernetes/test/bats
- name: run e2e test
run: |
kubectl apply -f kubernetes/monitoring/test/postmannewman/quarkus/postmannewman-quarkus.yaml
- name: wait for complete e2e job
run: |
kubectl -n monitoring wait --for=condition=complete --timeout=30m job/postmannewman-quarkus
kubectl -n monitoring describe job postmannewman-quarkus
kubectl -n monitoring logs $(kubectl get pods -n monitoring | awk '{print $1}' | grep postmannewman-quarkus)
- name: check log jaxrs-cassandra
if: always()
run: |
kubectl describe po $(kubectl get pods | awk '{print $1}' | grep jaxrs-cassandra)
kubectl logs $(kubectl get pods | awk '{print $1}' | grep jaxrs-cassandra)
- name: check log cassandra
if: always()
run: |
kubectl describe po $(kubectl get pods | awk '{print $1}' | grep -E ^cassandra)
kubectl logs $(kubectl get pods | awk '{print $1}' | grep -E ^cassandra)
- name: check log ingress
if: always()
run: |
kubectl get ingress
kubectl describe ingress nginx
- name: check log storage-provisioner
if: always()
run: |
kubectl -n kube-system describe po $(kubectl get pods -n kube-system | awk '{print $1}' | grep storage-provisioner)
kubectl -n kube-system logs $(kubectl get pods -n kube-system | awk '{print $1}' | grep storage-provisioner)
- name: check after test postmannewman-quarkus
if: always()
run: |
kubectl -n monitoring describe po $(kubectl get pods -n monitoring | awk '{print $1}' | grep postmannewman-quarkus)
kubectl -n monitoring logs $(kubectl get pods -n monitoring | awk '{print $1}' | grep postmannewman-quarkus)
- name: check status
if: always()
run: |
kubectl get po --all-namespaces=true
kubectl get nodes
kubectl get pv
kubectl get pvc
kubectl get all
kubectl get all -n monitoring
kubectl get ingress
df -h /