name: Master on: workflow_dispatch: push: branches: - master paths: - "go.mod" - "**.go" - "**.yml" - "**.yaml" - "Makefile" - "!deploy/kicbase/**" - "!deploy/iso/**" env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.5' jobs: # Runs before all other jobs # builds the minikube binaries build_minikube: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: go-version: ${{env.GO_VERSION}} stable: true - name: Download Dependencies run: go mod download - name: Build Binaries run: | make cross make e2e-cross cp -r test/integration/testdata ./out whoami echo github ref $GITHUB_REF echo workflow $GITHUB_WORKFLOW echo home $HOME echo event name $GITHUB_EVENT_NAME echo workspace $GITHUB_WORKSPACE echo "end of debug stuff" echo $(which jq) - uses: actions/upload-artifact@v1 with: name: minikube_binaries path: out lint: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: go-version: ${{env.GO_VERSION}} stable: true - name: Install libvirt run: | sudo apt-get update sudo apt-get install -y libvirt-dev - name: Download Dependencies run: go mod download - name: Lint env: TESTSUITE: lintall run: make test continue-on-error: false unit_test: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: go-version: ${{env.GO_VERSION}} stable: true - name: Install libvirt run: | sudo apt-get update sudo apt-get install -y libvirt-dev - name: Download Dependencies run: go mod download - name: Unit Test env: TESTSUITE: unittest run: make test continue-on-error: false # Run the following integration tests after the build_minikube # They will run in parallel and use the binaries in previous step functional_docker_ubuntu: needs: [build_minikube] env: TIME_ELAPSED: time JOB_NAME: "functional_docker_ubuntu" GOPOGH_RESULT: "" SHELL: "/bin/bash" # To prevent https://github.com/kubernetes/minikube/issues/6643 runs-on: ubuntu-20.04 steps: - name: Install kubectl shell: bash run: | curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl sudo install kubectl /usr/local/bin/kubectl kubectl version --client=true - name: Docker Info shell: bash run: | echo "--------------------------" docker version || true echo "--------------------------" docker info || true echo "--------------------------" docker system df || true echo "--------------------------" docker system info --format='{{json .}}'|| true echo "--------------------------" docker ps || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - uses: actions/setup-go@v2 with: go-version: ${{env.GO_VERSION}} stable: true - name: Install gopogh shell: bash run: | curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries uses: actions/download-artifact@v1 with: name: minikube_binaries - name: Run Integration Test continue-on-error: false # bash {0} to allow test to continue to next step. in case of shell: bash {0} run: | cd minikube_binaries mkdir -p report mkdir -p testhome chmod a+x e2e-* chmod a+x minikube-* sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld START_TIME=$(date -u +%s) KUBECONFIG=$(pwd)/testhome/kubeconfig MINIKUBE_HOME=$(pwd)/testhome ./e2e-linux-amd64 -minikube-start-args=--vm-driver=docker -test.run TestFunctional -test.timeout=10m -test.v -timeout-multiplier=1.5 -binary=./minikube-linux-amd64 2>&1 | tee ./report/testout.txt END_TIME=$(date -u +%s) TIME_ELAPSED=$(($END_TIME-$START_TIME)) min=$((${TIME_ELAPSED}/60)) sec=$((${TIME_ELAPSED}%60)) TIME_ELAPSED="${min} min $sec seconds " echo "TIME_ELAPSED=${TIME_ELAPSED}" >> $GITHUB_ENV - name: Generate HTML Report shell: bash run: | cd minikube_binaries export PATH=${PATH}:`go env GOPATH`/bin go tool test2json -t < ./report/testout.txt > ./report/testout.json || true 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 echo status: ${STAT} FailNum=$(echo $STAT | jq '.NumberOfFail') TestsNum=$(echo $STAT | jq '.NumberOfTests') GOPOGH_RESULT="${JOB_NAME} : completed with ${FailNum} / ${TestsNum} failures in ${TIME_ELAPSED}" echo "GOPOGH_RESULT=${GOPOGH_RESULT}" >> $GITHUB_ENV echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - uses: actions/upload-artifact@v1 with: name: functional_docker_ubuntu path: minikube_binaries/report - name: The End Result functional_docker_ubuntu shell: bash run: | echo ${GOPOGH_RESULT} numFail=$(echo $STAT | jq '.NumberOfFail') numPass=$(echo $STAT | jq '.NumberOfPass') echo "*******************${numPass} Passes :) *******************" echo $STAT | jq '.PassedTests' || true echo "*******************************************************" echo "---------------- ${numFail} Failures :( ----------------------------" echo $STAT | jq '.FailedTests' || true echo "-------------------------------------------------------" if [ "$numFail" -gt 0 ];then echo "*** $numFail Failed ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** 0 Passed! ***";exit 2;fi if [ "$numPass" -lt 36 ];then echo "*** Failed to pass at least 36 ! ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_docker_containerd_ubuntu: needs: [build_minikube] env: TIME_ELAPSED: time JOB_NAME: "functional_docker_containerd_ubuntu" GOPOGH_RESULT: "" SHELL: "/bin/bash" # To prevent https://github.com/kubernetes/minikube/issues/6643 runs-on: ubuntu-20.04 steps: - name: Install kubectl shell: bash run: | curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl sudo install kubectl /usr/local/bin/kubectl kubectl version --client=true - name: Docker Info shell: bash run: | echo "--------------------------" docker version || true echo "--------------------------" docker info || true echo "--------------------------" docker system df || true echo "--------------------------" docker system info --format='{{json .}}'|| true echo "--------------------------" docker ps || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - uses: actions/setup-go@v2 with: go-version: ${{env.GO_VERSION}} stable: true - name: Install gopogh shell: bash run: | curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries uses: actions/download-artifact@v1 with: name: minikube_binaries - name: Run Integration Test continue-on-error: false # bash {0} to allow test to continue to next step. in case of shell: bash {0} run: | cd minikube_binaries mkdir -p report mkdir -p testhome chmod a+x e2e-* chmod a+x minikube-* sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld START_TIME=$(date -u +%s) KUBECONFIG=$(pwd)/testhome/kubeconfig MINIKUBE_HOME=$(pwd)/testhome ./e2e-linux-amd64 -minikube-start-args="--vm-driver=docker --container-runtime=containerd" -test.run TestFunctional -test.timeout=30m -test.v -timeout-multiplier=1.5 -binary=./minikube-linux-amd64 2>&1 | tee ./report/testout.txt END_TIME=$(date -u +%s) TIME_ELAPSED=$(($END_TIME-$START_TIME)) min=$((${TIME_ELAPSED}/60)) sec=$((${TIME_ELAPSED}%60)) TIME_ELAPSED="${min} min $sec seconds " echo "TIME_ELAPSED=${TIME_ELAPSED}" >> $GITHUB_ENV - name: Generate HTML Report shell: bash run: | cd minikube_binaries export PATH=${PATH}:`go env GOPATH`/bin go tool test2json -t < ./report/testout.txt > ./report/testout.json || true 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 echo status: ${STAT} FailNum=$(echo $STAT | jq '.NumberOfFail') TestsNum=$(echo $STAT | jq '.NumberOfTests') GOPOGH_RESULT="${JOB_NAME} : completed with ${FailNum} / ${TestsNum} failures in ${TIME_ELAPSED}" echo "GOPOGH_RESULT=${GOPOGH_RESULT}" >> $GITHUB_ENV echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - uses: actions/upload-artifact@v1 with: name: functional_docker_containerd_ubuntu path: minikube_binaries/report - name: The End Result functional_docker_containerd_ubuntu shell: bash run: | echo ${GOPOGH_RESULT} numFail=$(echo $STAT | jq '.NumberOfFail') numPass=$(echo $STAT | jq '.NumberOfPass') echo "*******************${numPass} Passes :) *******************" echo $STAT | jq '.PassedTests' || true echo "*******************************************************" echo "---------------- ${numFail} Failures :( ----------------------------" echo $STAT | jq '.FailedTests' || true echo "-------------------------------------------------------" if [ "$numFail" -gt 0 ];then echo "*** $numFail Failed ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** 0 Passed! ***";exit 2;fi if [ "$numPass" -lt 36 ];then echo "*** Failed to pass at least 36 ! ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_podman_ubuntu: needs: [ build_minikube ] env: TIME_ELAPSED: time JOB_NAME: functional_podman_ubuntu GOPOGH_RESULT: "" SHELL: "/bin/bash" # To prevent https://github.com/kubernetes/minikube/issues/6643 runs-on: ubuntu-20.04 steps: - name: Install kubectl shell: bash run: | curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl sudo install kubectl /usr/local/bin/kubectl kubectl version --client=true - name: Install Podman shell: bash run: | sudo apt update sudo apt install -y podman echo "--------------------------" podman version || true echo "--------------------------" podman info || true echo "--------------------------" podman system df || true echo "--------------------------" podman system info --format='{{json .}}'|| true echo "--------------------------" podman ps || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - uses: actions/setup-go@v2 with: go-version: ${{env.GO_VERSION}} stable: true - name: Install gopogh shell: bash run: | curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries uses: actions/download-artifact@v1 with: name: minikube_binaries - name: Run Integration Test continue-on-error: false # bash {0} to allow test to continue to next step. in case of shell: bash {0} run: | cd minikube_binaries mkdir -p report mkdir -p testhome chmod a+x e2e-* chmod a+x minikube-* sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld START_TIME=$(date -u +%s) 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 END_TIME=$(date -u +%s) TIME_ELAPSED=$(($END_TIME-$START_TIME)) min=$((${TIME_ELAPSED}/60)) sec=$((${TIME_ELAPSED}%60)) TIME_ELAPSED="${min} min $sec seconds " echo "TIME_ELAPSED=${TIME_ELAPSED}" >> $GITHUB_ENV - name: Generate HTML Report shell: bash run: | cd minikube_binaries export PATH=${PATH}:`go env GOPATH`/bin go tool test2json -t < ./report/testout.txt > ./report/testout.json || true 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 echo status: ${STAT} FailNum=$(echo $STAT | jq '.NumberOfFail') TestsNum=$(echo $STAT | jq '.NumberOfTests') GOPOGH_RESULT="${JOB_NAME} : completed with ${FailNum} / ${TestsNum} failures in ${TIME_ELAPSED}" echo "GOPOGH_RESULT=${GOPOGH_RESULT}" >> $GITHUB_ENV echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - uses: actions/upload-artifact@v1 with: name: functional_podman_ubuntu path: minikube_binaries/report - name: The End Result functional_podman_ubuntu shell: bash run: | echo ${GOPOGH_RESULT} numFail=$(echo $STAT | jq '.NumberOfFail') numPass=$(echo $STAT | jq '.NumberOfPass') echo "*******************${numPass} Passes :) *******************" echo $STAT | jq '.PassedTests' || true echo "*******************************************************" echo "---------------- ${numFail} Failures :( ----------------------------" echo $STAT | jq '.FailedTests' || true echo "-------------------------------------------------------" if [ "$numFail" -gt 0 ];then echo "*** $numFail Failed ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** 0 Passed! ***";exit 2;fi if [ "$numPass" -lt 36 ];then echo "*** Failed to pass at least 36 ! ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_virtualbox_macos: needs: [build_minikube] env: TIME_ELAPSED: time JOB_NAME: "functional_virtualbox_macos" GOPOGH_RESULT: "" SHELL: "/bin/bash" # To prevent https://github.com/kubernetes/minikube/issues/6643 runs-on: macos-10.15 steps: - name: Install kubectl shell: bash run: | curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/darwin/amd64/kubectl sudo install kubectl /usr/local/bin/kubectl kubectl version --client=true # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - uses: actions/setup-go@v2 with: go-version: ${{env.GO_VERSION}} stable: true - name: Install gopogh shell: bash run: | curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-darwin-amd64 sudo install gopogh-darwin-amd64 /usr/local/bin/gopogh - name: Install docker shell: bash run: | brew install docker-machine docker sudo docker --version - name: Info shell: bash run: | hostname VBoxManage --version sysctl hw.physicalcpu hw.logicalcpu - name: Disable firewall run: | sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off sudo /usr/libexec/ApplicationFirewall/socketfilterfw -k - name: Download Binaries uses: actions/download-artifact@v1 with: name: minikube_binaries - name: Run Integration Test continue-on-error: false # bash {0} to allow test to continue to next step. in case of shell: bash {0} run: | cd minikube_binaries mkdir -p report mkdir -p testhome chmod a+x e2e-* chmod a+x minikube-* START_TIME=$(date -u +%s) KUBECONFIG=$(pwd)/testhome/kubeconfig MINIKUBE_HOME=$(pwd)/testhome ./e2e-darwin-amd64 -minikube-start-args=--vm-driver=virtualbox -test.run "TestFunctional" -test.timeout=35m -test.v -timeout-multiplier=1.5 -binary=./minikube-darwin-amd64 2>&1 | tee ./report/testout.txt END_TIME=$(date -u +%s) TIME_ELAPSED=$(($END_TIME-$START_TIME)) min=$((${TIME_ELAPSED}/60)) sec=$((${TIME_ELAPSED}%60)) TIME_ELAPSED="${min} min $sec seconds " echo "TIME_ELAPSED=${TIME_ELAPSED}" >> $GITHUB_ENV - name: Generate HTML Report shell: bash run: | cd minikube_binaries export PATH=${PATH}:`go env GOPATH`/bin go tool test2json -t < ./report/testout.txt > ./report/testout.json || true 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 echo status: ${STAT} FailNum=$(echo $STAT | jq '.NumberOfFail') TestsNum=$(echo $STAT | jq '.NumberOfTests') GOPOGH_RESULT="${JOB_NAME} : completed with ${FailNum} / ${TestsNum} failures in ${TIME_ELAPSED}" echo "GOPOGH_RESULT=${GOPOGH_RESULT}" >> $GITHUB_ENV echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - uses: actions/upload-artifact@v1 with: name: functional_virtualbox_macos path: minikube_binaries/report - name: The End Result functional_virtualbox_macos shell: bash run: | echo ${GOPOGH_RESULT} numFail=$(echo $STAT | jq '.NumberOfFail') numPass=$(echo $STAT | jq '.NumberOfPass') echo "*******************${numPass} Passes :) *******************" echo $STAT | jq '.PassedTests' || true echo "*******************************************************" echo "----------------${numFail} Failures :(----------------------------" echo $STAT | jq '.FailedTests' || true echo "-------------------------------------------------------" if [ "$numFail" -gt 0 ];then echo "*** $numFail Failed ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** 0 Passed! ***";exit 2;fi if [ "$numPass" -lt 33 ];then echo "*** Failed to pass at least 33 ! ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_baremetal_ubuntu18_04: needs: [build_minikube] env: TIME_ELAPSED: time JOB_NAME: "functional_baremetal_ubuntu18_04" GOPOGH_RESULT: "" SHELL: "/bin/bash" # To prevent https://github.com/kubernetes/minikube/issues/6643 runs-on: ubuntu-18.04 steps: - name: Install kubectl shell: bash run: | curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl sudo install kubectl /usr/local/bin/kubectl kubectl version --client=true # conntrack is required for kubernetes 1.18 and higher # socat is required for kubectl port forward which is used in some tests such as validateHelmTillerAddon - name: Install tools for none shell: bash run: | sudo apt-get update -qq sudo apt-get -qq -y install conntrack sudo apt-get -qq -y install socat VERSION="v1.17.0" curl -L https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-${VERSION}-linux-amd64.tar.gz --output crictl-${VERSION}-linux-amd64.tar.gz sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - uses: actions/setup-go@v2 with: go-version: ${{env.GO_VERSION}} stable: true - name: Install gopogh shell: bash run: | curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries uses: actions/download-artifact@v1 with: name: minikube_binaries - name: Run Integration Test continue-on-error: true # bash {0} to allow test to continue to next step. in case of shell: bash {0} run: | cd minikube_binaries mkdir -p report mkdir -p testhome chmod a+x e2e-* chmod a+x minikube-* START_TIME=$(date -u +%s) KUBECONFIG=$(pwd)/testhome/kubeconfig MINIKUBE_HOME=$(pwd)/testhome sudo -E ./e2e-linux-amd64 -minikube-start-args=--driver=none -test.timeout=10m -test.v -timeout-multiplier=1.5 -test.run TestFunctional -binary=./minikube-linux-amd64 2>&1 | tee ./report/testout.txt END_TIME=$(date -u +%s) TIME_ELAPSED=$(($END_TIME-$START_TIME)) min=$((${TIME_ELAPSED}/60)) sec=$((${TIME_ELAPSED}%60)) TIME_ELAPSED="${min} min $sec seconds " echo "TIME_ELAPSED=${TIME_ELAPSED}" >> $GITHUB_ENV - name: Generate HTML Report shell: bash run: | cd minikube_binaries export PATH=${PATH}:`go env GOPATH`/bin go tool test2json -t < ./report/testout.txt > ./report/testout.json || true 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 echo status: ${STAT} FailNum=$(echo $STAT | jq '.NumberOfFail') TestsNum=$(echo $STAT | jq '.NumberOfTests') GOPOGH_RESULT="${JOB_NAME} : completed with ${FailNum} / ${TestsNum} failures in ${TIME_ELAPSED}" echo "GOPOGH_RESULT=${GOPOGH_RESULT}" >> $GITHUB_ENV echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - uses: actions/upload-artifact@v1 with: name: none_ubuntu18_04 path: minikube_binaries/report - name: The End Result - None on Ubuntu 18:04 shell: bash run: | echo ${GOPOGH_RESULT} numFail=$(echo $STAT | jq '.NumberOfFail') numPass=$(echo $STAT | jq '.NumberOfPass') echo "*******************${numPass} Passes :) *******************" echo $STAT | jq '.PassedTests' || true echo "*******************************************************" echo "---------------- ${numFail} Failures :( ----------------------------" echo $STAT | jq '.FailedTests' || true echo "-------------------------------------------------------" if [ "$numFail" -gt 0 ];then echo "*** $numFail Failed ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** 0 Passed! ***";exit 2;fi if [ "$numPass" -lt 26 ];then echo "*** Failed to pass at least 26 ! ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi # After all integration tests finished # collect all the reports and upload them upload_all_reports: if: always() needs: [ functional_docker_ubuntu, functional_docker_containerd_ubuntu, functional_podman_ubuntu, functional_virtualbox_macos, functional_baremetal_ubuntu18_04, ] runs-on: ubuntu-20.04 steps: - name: download all reports uses: actions/download-artifact@v2-preview - name: upload all reports shell: bash {0} continue-on-error: true run: | mkdir -p all_reports ls -lah cp -r ./functional_docker_ubuntu ./all_reports/ cp -r ./functional_docker_containerd_ubuntu ./all_reports/ cp -r ./functional_podman_ubuntu ./all_reports/ cp -r ./functional_virtualbox_macos ./all_reports/ cp -r ./functional_baremetal_ubuntu18_04 ./all_reports/ - uses: actions/upload-artifact@v1 with: name: all_reports path: all_reports