Fix primary key constraint (#66) #170
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) | |