11# QG4: Agent Deployment Health Checks
22#
3- # Foundation workflow: validates that the GitHub Actions runner can connect
4- # to the OpenShift cluster. Agent deployment and health checks will be
5- # wired up in follow-up tickets.
3+ # Nightly workflow: logs into the OpenShift demo cluster, deploys each
4+ # agent via build-openshift + Helm, validates GET /health, and tears down.
65
7- name : " QG4: Agent Deployment Health Checks "
6+ name : " QG4: Agent Deployment Integration Tests "
87
98on :
109 schedule :
@@ -17,49 +16,18 @@ permissions:
1716jobs :
1817 verify-cluster-connection :
1918 name : " Verify Cluster Connection"
19+ if : github.repository == 'red-hat-data-services/agentic-starter-kits'
2020 runs-on : ubuntu-latest
2121 timeout-minutes : 10
2222 steps :
2323 - name : Checkout code
2424 uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2525
26- - name : Install Python 3.12
27- uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
26+ - name : Setup cluster tools
27+ uses : ./.github/ actions/setup-cluster
2828 with :
29- python-version : " 3.12"
30-
31- - name : Install uv
32- uses : astral-sh/setup-uv@6b9c6063abd6010835644d4c2e1bef4cf5cd0fca # v6.0.1
33-
34- - name : Install OpenShift CLI and Helm
35- uses : redhat-actions/openshift-tools-installer@144527c7d98999f2652264c048c7a9bd103f8a82 # v1.13.1
36- with :
37- oc : " 4"
38- helm : " 3"
39-
40- - name : Verify installed tools
41- run : |
42- echo "--- oc ---"
43- oc version --client
44- echo ""
45- echo "--- helm ---"
46- helm version --short
47- echo ""
48- echo "--- python ---"
49- python3 --version
50- echo ""
51- echo "--- uv ---"
52- uv --version
53-
54- - name : Login to OpenShift
55- env :
56- OC_TOKEN : ${{ secrets.OC_TOKEN }}
57- CLUSTER_API_URL : ${{ secrets.CLUSTER_API_URL }}
58- run : |
59- oc login \
60- --token="$OC_TOKEN" \
61- --server="$CLUSTER_API_URL" \
62- --namespace=ci-testing
29+ oc-token : ${{ secrets.OC_TOKEN }}
30+ cluster-api-url : ${{ secrets.CLUSTER_API_URL }}
6331
6432 - name : Verify cluster connection
6533 run : |
7846 - name : Logout
7947 if : always()
8048 run : oc logout || true
49+
50+ test-agent :
51+ name : " ${{ matrix.agent.name }}"
52+ needs : verify-cluster-connection
53+ if : github.repository == 'red-hat-data-services/agentic-starter-kits'
54+ runs-on : ubuntu-latest
55+ timeout-minutes : 20
56+ strategy :
57+ fail-fast : false
58+ matrix :
59+ agent :
60+ - { name: langgraph-react-agent, dir: agents/langgraph/react_agent }
61+ env :
62+ API_KEY : ${{ vars.API_KEY }}
63+ BASE_URL : ${{ vars.BASE_URL }}
64+ MODEL_ID : ${{ vars.MODEL_ID }}
65+ steps :
66+ - name : Checkout code
67+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
68+
69+ - name : Setup cluster tools
70+ uses : ./.github/actions/setup-cluster
71+ with :
72+ oc-token : ${{ secrets.OC_TOKEN }}
73+ cluster-api-url : ${{ secrets.CLUSTER_API_URL }}
74+
75+ - name : Run integration test
76+ working-directory : ${{ matrix.agent.dir }}
77+ run : make test-integration
78+
79+ - name : Upload test results
80+ if : always()
81+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
82+ with :
83+ name : ${{ matrix.agent.name }}-results
84+ path : ${{ matrix.agent.dir }}/results.xml
85+
86+ - name : Logout
87+ if : always()
88+ run : oc logout || true
0 commit comments