-
Notifications
You must be signed in to change notification settings - Fork 12
67 lines (61 loc) · 1.99 KB
/
integration-tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name: Build and Test
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
- name: Build
run: make build
- name: Create K8s Kind Cluster
uses: helm/[email protected]
with:
cluster_name: 'kind'
config: './etc/cluster.yaml'
- name: Load Docker Images
run: |
kind load docker-image hoptimator
kind load docker-image hoptimator-flink-runner
- name: Deploy Dev Environment
run: make deploy-dev-environment
- name: Deploy Hoptimator
run: make deploy
- name: Deploy Samples
run: make deploy-samples
- name: Wait for Readiness
run: kubectl wait kafka/one --for=condition=Ready --timeout=10m -n kafka
- name: Run Integration Tests
run: make integration-tests
- name: Capture Cluster State
if: always()
run: |
kubectl describe pods
kubectl describe deployments
kubectl describe kafkas -n kafka
kubectl describe flinkdeployments
kubectl describe subscriptions
- name: Capture Flink Job Logs
if: always()
run: |
kubectl logs $(kubectl get pods -l component=jobmanager -o name) --since=0s || echo "skipped."
kubectl logs $(kubectl get pods -l component=taskmanager -o name) --since=0s || echo "skipped."
- name: Capture Hoptimator Operator Logs
if: always()
run: kubectl logs $(kubectl get pods -l app=hoptimator-operator -o name)
- name: Capture Flink Operator Logs
if: always()
run: kubectl logs $(kubectl get pods -l app.kubernetes.io/name=flink-kubernetes-operator -o name)
- name: Capture Flink Job Logs
if: always()
run: kubectl logs $(kubectl get pods -l app.kubernetes.io/name=flink-kubernetes-operator -o name)