diff --git a/.github/workflows/ci-latest-release.yml b/.github/workflows/ci-latest-release.yml index 2c414dfb7..b3e868a55 100644 --- a/.github/workflows/ci-latest-release.yml +++ b/.github/workflows/ci-latest-release.yml @@ -56,79 +56,11 @@ jobs: - uses: actions/setup-go@v5 with: go-version-file: 'KubeArmor/go.mod' - - name: Install the latest LLVM toolchain run: ./.github/workflows/install-llvm.sh - name: Compile libbpf run: ./.github/workflows/install-libbpf.sh - - - name: Setup a Kubernetes enviroment - id: vars - run: | - if [ ${{ github.ref }} == "refs/heads/main" ]; then - echo "tag=latest" >> $GITHUB_OUTPUT - else - echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT - fi - RUNTIME=containerd ./contribution/k3s/install_k3s.sh - - - name: Generate KubeArmor artifacts - run: GITHUB_SHA=$GITHUB_SHA ./KubeArmor/build/build_kubearmor.sh ${{ steps.vars.outputs.tag }} - - - name: Build Kubearmor-Operator - working-directory: pkg/KubeArmorOperator - run: | - make docker-build TAG=${{ steps.vars.outputs.tag }} - - - name: deploy pre existing pod - run: | - kubectl apply -f ./tests/k8s_env/ksp/pre-run-pod.yaml - sleep 60 - kubectl get pods -A - - - name: Run KubeArmor - run: | - docker save kubearmor/kubearmor-init:${{ steps.vars.outputs.tag }} | sudo k3s ctr images import - - docker save kubearmor/kubearmor:${{ steps.vars.outputs.tag }} | sudo k3s ctr images import - - docker save kubearmor/kubearmor-operator:${{ steps.vars.outputs.tag }} | sudo k3s ctr images import - - docker save kubearmor/kubearmor-snitch:${{ steps.vars.outputs.tag }} | sudo k3s ctr images import - - - helm upgrade --install kubearmor-operator ./deployments/helm/KubeArmorOperator -n kubearmor --create-namespace --set kubearmorOperator.image.tag=${{ steps.vars.outputs.tag }} - kubectl wait --for=condition=ready --timeout=5m -n kubearmor pod -l kubearmor-app=kubearmor-operator - kubectl get pods -A - if [[ ${{ steps.vars.outputs.tag }} == v* ]]; then - sed -i '/image: kubearmor\/kubearmor-controller:latest/!{/image: kubearmor\/kubearmor-relay-server:latest/!s/latest/${{ steps.vars.outputs.tag }}/g}' pkg/KubeArmorOperator/config/samples/kubearmor-test.yaml - fi - kubectl apply -f pkg/KubeArmorOperator/config/samples/kubearmor-test.yaml - kubectl wait -n kubearmor --timeout=5m --for=jsonpath='{.status.phase}'=Running kubearmorconfigs/kubearmorconfig-test - kubectl wait --timeout=7m --for=condition=ready pod -l kubearmor-app,kubearmor-app!=kubearmor-snitch,kubearmor-app!=kubearmor-controller -n kubearmor - kubectl wait --timeout=1m --for=condition=ready pod -l kubearmor-app=kubearmor-controller -n kubearmor - kubectl get pods -A - - - name: Test KubeArmor using Ginkgo - run: | - go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo - ginkgo --vv --flake-attempts=10 --timeout=10m smoke/ - working-directory: ./tests/k8s_env - timeout-minutes: 30 - - - name: Get karmor sysdump - if: ${{ failure() }} - run: | - kubectl describe pod -n kubearmor -l kubearmor-app=kubearmor - curl -sfL http://get.kubearmor.io/ | sudo sh -s -- -b /usr/local/bin - mkdir -p /tmp/kubearmor/ && cd /tmp/kubearmor && karmor sysdump - - - name: Archive log artifacts - if: ${{ failure() }} - uses: actions/upload-artifact@v3 - with: - name: kubearmor.logs - path: | - /tmp/kubearmor/ - /tmp/kubearmor.* - - name: Login to Docker Hub uses: docker/login-action@v2 with: