@@ -117,7 +117,6 @@ jobs:
117117 go-version : ${{env.GO_VERSION}}
118118 stable : true
119119 - name : Install gopogh
120-
121120 shell : bash
122121 run : |
123122 curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
@@ -280,6 +279,109 @@ jobs:
280279 if [ "$numPass" -eq 0 ];then echo "*** 0 Passed! ***";exit 2;fi
281280 if [ "$numPass" -lt 36 ];then echo "*** Failed to pass at least 36 ! ***";exit 2;fi
282281 if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi
282+
283+ functional_podman_ubuntu :
284+ needs : [ build_minikube ]
285+ env :
286+ TIME_ELAPSED : time
287+ JOB_NAME : functional_podman_ubuntu
288+ GOPOGH_RESULT : " "
289+ SHELL : " /bin/bash" # To prevent https://github.com/kubernetes/minikube/issues/6643
290+ runs-on : ubuntu-20.04
291+ steps :
292+ - name : Install kubectl
293+ shell : bash
294+ run : |
295+ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
296+ sudo install kubectl /usr/local/bin/kubectl
297+ kubectl version --client=true
298+
299+ - name : Install Podman
300+ shell : bash
301+ run : |
302+ sudo apt update
303+ sudo apt install -y podman
304+ echo "--------------------------"
305+ podman version || true
306+ echo "--------------------------"
307+ podman info || true
308+ echo "--------------------------"
309+ podman system df || true
310+ echo "--------------------------"
311+ podman system info --format='{{json .}}'|| true
312+ echo "--------------------------"
313+ podman ps || true
314+ echo "--------------------------"
315+ # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308
316+ - uses : actions/setup-go@v2
317+ with :
318+ go-version : ${{env.GO_VERSION}}
319+ stable : true
320+ - name : Install gopogh
321+ shell : bash
322+ run : |
323+ curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-amd64
324+ sudo install gopogh-linux-amd64 /usr/local/bin/gopogh
325+ - name : Download Binaries
326+ uses : actions/download-artifact@v1
327+ with :
328+ name : minikube_binaries
329+ - name : Run Integration Test
330+ continue-on-error : false
331+ # bash {0} to allow test to continue to next step. in case of
332+ shell : bash {0}
333+ run : |
334+ cd minikube_binaries
335+ mkdir -p report
336+ mkdir -p testhome
337+ chmod a+x e2e-*
338+ chmod a+x minikube-*
339+ sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
340+ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
341+ START_TIME=$(date -u +%s)
342+ KUBECONFIG=$(pwd)/testhome/kubeconfig MINIKUBE_HOME=$(pwd)/testhome ./e2e-linux-amd64 -minikube-start-args=--vm-driver=podman -v=6 --alsologtostderr -test.run TestFunctional -test.timeout=10m -test.v -timeout-multiplier=1.5 -binary=./minikube-linux-amd64 2>&1 | tee ./report/testout.txt
343+ END_TIME=$(date -u +%s)
344+ TIME_ELAPSED=$(($END_TIME-$START_TIME))
345+ min=$((${TIME_ELAPSED}/60))
346+ sec=$((${TIME_ELAPSED}%60))
347+ TIME_ELAPSED="${min} min $sec seconds "
348+ echo "TIME_ELAPSED=${TIME_ELAPSED}" >> $GITHUB_ENV
349+ - name : Generate HTML Report
350+ shell : bash
351+ run : |
352+ cd minikube_binaries
353+ export PATH=${PATH}:`go env GOPATH`/bin
354+ go tool test2json -t < ./report/testout.txt > ./report/testout.json || true
355+ STAT=$(gopogh -in ./report/testout.json -out_html ./report/testout.html -out_summary ./report/testout_summary.json -name "${JOB_NAME} ${GITHUB_REF}" -repo "${GITHUB_REPOSITORY}" -details "${GITHUB_SHA}") || true
356+ echo status: ${STAT}
357+ FailNum=$(echo $STAT | jq '.NumberOfFail')
358+ TestsNum=$(echo $STAT | jq '.NumberOfTests')
359+ GOPOGH_RESULT="${JOB_NAME} : completed with ${FailNum} / ${TestsNum} failures in ${TIME_ELAPSED}"
360+ echo "GOPOGH_RESULT=${GOPOGH_RESULT}" >> $GITHUB_ENV
361+ echo 'STAT<<EOF' >> $GITHUB_ENV
362+ echo "${STAT}" >> $GITHUB_ENV
363+ echo 'EOF' >> $GITHUB_ENV
364+ - uses : actions/upload-artifact@v1
365+ with :
366+ name : functional_podman_ubuntu
367+ path : minikube_binaries/report
368+ - name : The End Result functional_podman_ubuntu
369+ shell : bash
370+ run : |
371+ echo ${GOPOGH_RESULT}
372+ numFail=$(echo $STAT | jq '.NumberOfFail')
373+ numPass=$(echo $STAT | jq '.NumberOfPass')
374+ echo "*******************${numPass} Passes :) *******************"
375+ echo $STAT | jq '.PassedTests' || true
376+ echo "*******************************************************"
377+ echo "---------------- ${numFail} Failures :( ----------------------------"
378+ echo $STAT | jq '.FailedTests' || true
379+ echo "-------------------------------------------------------"
380+ if [ "$numFail" -gt 0 ];then echo "*** $numFail Failed ***";exit 2;fi
381+ if [ "$numPass" -eq 0 ];then echo "*** 0 Passed! ***";exit 2;fi
382+ if [ "$numPass" -lt 36 ];then echo "*** Failed to pass at least 36 ! ***";exit 2;fi
383+ if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi
384+
283385 functional_virtualbox_macos :
284386 needs : [build_minikube]
285387 env :
@@ -879,6 +981,7 @@ jobs:
879981 [
880982 functional_docker_ubuntu,
881983 functional_docker_containerd_ubuntu,
984+ functional_podman_ubuntu,
882985 functional_docker_ubuntu_arm64,
883986 functional_virtualbox_macos,
884987 functional_docker_windows,
@@ -897,6 +1000,7 @@ jobs:
8971000 ls -lah
8981001 cp -r ./functional_docker_ubuntu ./all_reports/
8991002 cp -r ./functional_docker_containerd_ubuntu ./all_reports/
1003+ cp -r ./functional_podman_ubuntu ./all_reports/
9001004 cp -r ./functional_docker_ubuntu_arm64 ./all_reports/
9011005 cp -r ./functional_virtualbox_macos ./all_reports/
9021006 cp -r ./functional_docker_windows ./all_reports/
0 commit comments