Skip to content

Load from JDBC

Load from JDBC #187

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 pod hoptimator --for condition=Ready --timeout=10m
- name: Wait for Flink Jobs
run: |
i=0
while [ $i -ne 10 ]
do
kubectl wait flinkdeployments --all --for=jsonpath={.status.lifecycleState}=STABLE --timeout=1m && break || sleep 60
i=$(($i+1))
echo "No stable Flink jobs after $i tries..."
done
- 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)