Compare commits

...

3 Commits

Author SHA1 Message Date
Hristo Hristov
90905f74d7 feat: add e2e-minishift Makefile target and workflow job
Signed-off-by: Hristo Hristov <me@hhristov.info>
2026-04-01 12:32:49 +03:00
Hristo Hristov
e3d4f8c4ce feat: add e2e-minishift Makefile target and workflow job
Signed-off-by: Hristo Hristov <me@hhristov.info>
2026-04-01 12:25:24 +03:00
copilot-swe-agent[bot]
20ee2e7b01 feat: add e2e-minishift Makefile target and workflow job
Agent-Logs-Url: https://github.com/projectcapsule/capsule/sessions/16188b87-3dc5-4033-960e-5435de48131f

Co-authored-by: Svarrogh1337 <16626420+Svarrogh1337@users.noreply.github.com>
2026-04-01 08:57:52 +00:00
2 changed files with 75 additions and 0 deletions

View File

@@ -65,3 +65,51 @@ jobs:
- name: e2e (Enterprise)
run: sudo KUBERNETES_SUPPORTED_VERSION=${{ matrix.k8s-version }} make e2e
e2e-minishift:
name: E2E Testing (Minishift)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
with:
go-version-file: 'go.mod'
- uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4
- name: Enable KVM
run: |
sudo apt-get update
sudo apt-get install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils libvirt-daemon-system
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
sudo adduser $USER kvm
- name: Install Minishift
env:
MINISHIFT_VERSION: 1.34.3
run: |
curl -Lo minishift.tgz \
https://github.com/minishift/minishift/releases/download/v${MINISHIFT_VERSION}/minishift-${MINISHIFT_VERSION}-linux-amd64.tgz
tar -xzf minishift.tgz
sudo mv minishift-${MINISHIFT_VERSION}-linux-amd64/minishift /usr/local/bin/minishift
minishift version
- name: Start Minishift
run: |
minishift start --memory 8192 --cpus 4 --disk-size 40g
minishift status
- name: Configure Docker and kubectl for Minishift
run: |
eval $(minishift docker-env)
eval $(minishift oc-env)
# Export Docker daemon variables so subsequent steps can use them
minishift docker-env | grep -v '^#' | grep '=' >> "$GITHUB_ENV"
echo "$(minishift oc-env | grep PATH | sed 's/export PATH=//' | tr -d '"' | cut -d: -f1)" >> "$GITHUB_PATH"
- name: e2e on Minishift
run: make e2e-minishift

View File

@@ -351,6 +351,33 @@ golint-fix: golangci-lint
e2e: ginkgo
$(MAKE) e2e-build && $(MAKE) e2e-exec && $(MAKE) e2e-destroy
# Running e2e tests against an existing Minishift/OpenShift cluster.
# The Docker environment must point to Minishift's daemon before running:
# eval $(minishift docker-env)
# eval $(minishift oc-env)
.PHONY: e2e-minishift
e2e-minishift: ginkgo
$(MAKE) e2e-install-minishift && $(MAKE) e2e-exec
.PHONY: e2e-install-minishift
e2e-install-minishift: helm-controller-version ko-build-all
$(HELM) upgrade \
--dependency-update \
--debug \
--install \
--namespace capsule-system \
--create-namespace \
--set 'replicaCount=2'\
--set 'manager.image.pullPolicy=Never' \
--set 'manager.resources=null'\
--set "manager.image.tag=$(VERSION)" \
--set 'manager.livenessProbe.failureThreshold=10' \
--set 'webhooks.hooks.nodes.enabled=true' \
--set "webhooks.exclusive=true"\
--set "manager.options.logLevel=debug"\
capsule \
./charts/capsule
e2e-build: kind
$(MAKE) dev-build
$(MAKE) e2e-install