Skip to content

test coverage in docker compose mode #15

test coverage in docker compose mode

test coverage in docker compose mode #15

name: ci-test-docker
on:
push:
branches:
- "main"
- "non-k8s-hsp-test"
paths:
- "KubeArmor/**"
- ".github/workflows/ci-test-docker.yaml"
- "!STABLE-RELEASE"
- "tests/nonk8s_env/**"
jobs:
build-and-run:
name: Build KubeArmor artifacts and run tests / ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
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: Generate KubeArmor artifacts
run: |
GITHUB_SHA=$GITHUB_SHA ./KubeArmor/build/build_kubearmor.sh
- name: Run KubeArmor init container
run: |
docker run --name kubearmor-init -v /tmp/:/opt/kubearmor/BPF kubearmor/kubearmor-init
- name: Run KubeArmor container
run: |
docker run -d --name kubearmor --privileged --pid host -p 32767:32767 \
-v /tmp/:/opt/kubearmor/BPF \
-v /sys/fs/bpf:/sys/fs/bpf \
-v /sys/kernel/security:/sys/kernel/security \
-v /sys/kernel/debug:/sys/kernel/debug \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker:/var/lib/docker \
-v /etc/apparmor.d:/etc/apparmor.d \
kubearmor/kubearmor -k8s=false -enableKubeArmorHostPolicy
- 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: Archive log artifacts
if: ${{ failure() }}
uses: actions/upload-artifact@v3
with:
name: kubearmor.logs
path: |
/tmp/kubearmor/
/tmp/kubearmor.*