Modify deployers to keep state and undo changes on failure #480
Workflow file for this run
This file contains hidden or 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 | |
kind load docker-image hoptimator-flink-operator | |
- name: Run Integration Tests | |
run: make integration-tests-kind | |
- name: Capture Integration Reports | |
if: failure() | |
uses: actions/[email protected] | |
with: | |
name: reports | |
path: | | |
**/build/reports/tests/intTest/ | |
- name: Capture Cluster State | |
if: always() | |
run: | | |
kubectl get pods | |
kubectl get svc | |
kubectl get deployments | |
kubectl get pods -n kafka | |
kubectl get svc -n kafka | |
kubectl get deployments -n kafka | |
kubectl get kafkas -n kafka | |
kubectl get flinkdeployments | |
kubectl get subscriptions | |
kubectl get pipelines | |
kubectl get tabletemplates | |
kubectl get jobtemplates | |
kubectl get tabletriggers | |
kubectl get cronjobs | |
kubectl get jobs | |
- 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) | |