Skip to content

Commit 723308c

Browse files
(ci): Add GitHub Action to validate installation on Linux and Mac envs
We are currently facing issues where the installation process is breaking, and we are unable to detect these failures in CI. This action introduces a validation step to ensure that we can at least install the solution, validating the installation script provided in the Getting Started guide. This is a minimal basic test expected to enhance the developer experience (DX) by reducing user frustration with installation issues.
1 parent 6d79092 commit 723308c

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

.github/workflows/install.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Install
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
merge_group:
7+
push:
8+
branches:
9+
- main
10+
11+
jobs:
12+
kind-deploy:
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
matrix:
16+
include:
17+
- os: ubuntu-latest
18+
kind-url: https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
19+
- os: macos-latest
20+
kind-url: https://kind.sigs.k8s.io/dl/latest/kind-darwin-amd64
21+
22+
steps:
23+
- uses: actions/checkout@v4
24+
- uses: actions/setup-go@v5
25+
with:
26+
go-version-file: go.mod
27+
28+
- name: Install the latest version of kind
29+
run: |
30+
curl -Lo ./kind ${{ matrix.kind-url }}
31+
chmod +x ./kind
32+
sudo mv ./kind /usr/local/bin/kind
33+
34+
- name: Create Kind cluster for operator-controller
35+
run: |
36+
kind create cluster --name operator-controller
37+
38+
- name: Build the project
39+
run: |
40+
make build docker-build
41+
42+
- name: Load image into Kind cluster and deploy
43+
run: |
44+
make kind-load kind-deploy
45+
46+
- name: Logs and Details
47+
if: always()
48+
run: |
49+
# Capture high-level information
50+
echo "Gathering details for all resources in namespace olmv1-system..."
51+
kubectl get all -n olmv1-system
52+
53+
# Describe each pod in the namespace for more details
54+
for pod in $(kubectl get pods -n olmv1-system -o jsonpath='{.items[*].metadata.name}'); do
55+
echo "Describing pod $pod..."
56+
kubectl describe pod $pod -n olmv1-system
57+
echo "Logs for pod $pod:"
58+
kubectl logs $pod -n olmv1-system --all-containers=true
59+
done

0 commit comments

Comments
 (0)