From 0c2046bdae1f119f6e32ff55ec8fd25f0934d022 Mon Sep 17 00:00:00 2001 From: Navin Chandra Date: Fri, 2 Aug 2024 18:12:26 +0000 Subject: [PATCH] systemd proper cleanup of package Signed-off-by: Navin Chandra --- .../workflows/ci-bpflsm-systemd-coverage.yaml | 122 ------------------ .github/workflows/ci-coverage.yaml | 8 +- 2 files changed, 4 insertions(+), 126 deletions(-) delete mode 100644 .github/workflows/ci-bpflsm-systemd-coverage.yaml diff --git a/.github/workflows/ci-bpflsm-systemd-coverage.yaml b/.github/workflows/ci-bpflsm-systemd-coverage.yaml deleted file mode 100644 index e2138bd0e3..0000000000 --- a/.github/workflows/ci-bpflsm-systemd-coverage.yaml +++ /dev/null @@ -1,122 +0,0 @@ -name: ci-coverage - -on: - push: - branches: [main] - paths: - - "KubeArmor/**" - - ".github/workflows/ci-coverage.yaml" - - "tests/**" - pull_request: - branches: [main] - paths: - - "KubeArmor/**" - - ".github/workflows/ci-bpflsm-systemd-coverage.yaml" - - "tests/**" - -jobs: - calculate-systemd-coverage: - name: Calculate coverage in systemd mode / ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, bpflsm] - timeout-minutes: 60 - steps: - - uses: actions/checkout@v3 - with: - submodules: true - - - 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: Install GoReleaser - uses: goreleaser/goreleaser-action@v2 - with: - install-only: true - version: v1.25.0 - - - name: Install protoc-gen-go - if: ${{ matrix.os == 'bpflsm' }} - run: | - go install google.golang.org/protobuf/cmd/protoc-gen-go@latest - go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest - env: - GOPATH: /home/vagrant/go - - - name: Build Systemd Release - run: make local-release - working-directory: KubeArmor - - - name: Install KubeArmor - run: sudo apt install -y ./dist/kubearmor*amd64.deb - working-directory: KubeArmor - - - name: Compile test binary - run: go test -covermode=atomic -coverpkg=./... -c . -o kubearmor-test - working-directory: KubeArmor - - - name: Replace with test binary - run: | - sudo mkdir -p /coverage - sudo rm /opt/kubearmor/kubearmor - sudo cp kubearmor-test /opt/kubearmor/ - ls -l /opt/kubearmor/ - sudo sed -i 's|ExecStart=/opt/kubearmor/kubearmor|ExecStart=/opt/kubearmor/kubearmor-test -test.coverprofile=/coverage/coverage_systemd.out|' /lib/systemd/system/kubearmor.service - sudo systemctl daemon-reload - sudo systemctl restart kubearmor.service - working-directory: KubeArmor - - - name: Check journalctl - run: sudo journalctl -u kubearmor --no-pager || true - - - name: Test kubearmor using ginkgo - run: | - go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo - make - working-directory: ./tests/nonk8s_env - timeout-minutes: 30 - - - name: Kill kubearmor process and copy coverage file - run: | - sudo systemctl stop kubearmor - sleep 15 - for i in {1..24}; do - if [ -f /coverage/coverage_systemd.out ]; then - sudo cp /coverage/coverage_systemd.out coverage_systemd_${{ matrix.os }}.out - break - fi - sleep 5 - done - working-directory: KubeArmor - - - name: Measure code coverage - if: ${{ always() }} - run: | - ls -l - go tool cover -func coverage_systemd_${{ matrix.os }}.out - working-directory: KubeArmor - env: - GOPATH: ${{ matrix.os == 'bpflsm' && '/home/vagrant/go' || '/home/runner/go' }} - - - name: Save coverage file - if: ${{ always() }} - uses: actions/upload-artifact@v4 - with: - name: coverage-systemd-${{ matrix.os }} - path: KubeArmor/coverage_systemd_${{ matrix.os }}.out - - - name: Run cleanup - if: ${{ always() && matrix.os == 'bpflsm' }} - run: | - sudo systemctl stop kubearmor - sudo systemctl disable kubearmor - sudo apt remove -y kubearmor \ No newline at end of file diff --git a/.github/workflows/ci-coverage.yaml b/.github/workflows/ci-coverage.yaml index 8dd1bb0237..1f1a0c3e84 100644 --- a/.github/workflows/ci-coverage.yaml +++ b/.github/workflows/ci-coverage.yaml @@ -405,10 +405,10 @@ jobs: - name: Run cleanup if: ${{ always() && matrix.os == 'bpflsm' }} run: | - sudo systemctl stop kubearmor - sudo systemctl disable kubearmor - sudo apt remove -y kubearmor - + sudo systemctl disable kubearmor.service + sudo rm -rf /opt/kubearmor/ + sudo apt-get --purge remove -y kubearmor + sudo systemctl daemon-reload merge-and-upload-coverage: name: Merge and Upload Coverage