Remove Temporal workflow and Phase3 integration tests from FlinkDotNe… #436
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: ObservabilityTesting Integration Tests | |
| on: | |
| push: | |
| workflow_dispatch: | |
| env: | |
| configuration: Release | |
| concurrency: | |
| group: observability-${{ github.head_ref || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| observability-test: | |
| name: Run Observability Integration Tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Install Maven | |
| uses: stCarolas/setup-maven@v4 | |
| with: | |
| maven-version: '3.9.6' | |
| - name: Set up .NET 9.0 | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '9.0.x' | |
| - name: Install .NET Aspire workload | |
| run: | | |
| echo "📦 Installing .NET Aspire workload..." | |
| dotnet workload install aspire | |
| echo "✅ Aspire workload installed successfully" | |
| - name: Verify Docker environment | |
| run: | | |
| echo "=== Verifying Docker environment ===" | |
| docker --version | |
| docker compose version | |
| docker info | |
| docker ps -a | |
| echo "Docker service status:" | |
| sudo systemctl status docker --no-pager || true | |
| echo "Starting Docker if not running..." | |
| sudo systemctl start docker || true | |
| sleep 5 | |
| docker ps | |
| echo "=== Pulling required Docker images ===" | |
| docker pull confluentinc/cp-kafka:latest || true | |
| docker pull flink:2.1.0-java17 || true | |
| docker pull prom/prometheus:latest || true | |
| docker pull grafana/grafana:latest || true | |
| echo "✅ Docker is ready" | |
| - name: Configure system for Kafka performance | |
| run: | | |
| echo "=== Configuring system for optimal Kafka performance ===" | |
| sudo sysctl -w vm.max_map_count=262144 | |
| sudo bash -c 'echo "* soft nofile 65536" >> /etc/security/limits.conf' | |
| sudo bash -c 'echo "* hard nofile 65536" >> /etc/security/limits.conf' | |
| echo "Current vm.max_map_count: $(sysctl vm.max_map_count)" | |
| echo "Current ulimit -n: $(ulimit -n)" | |
| echo "Available memory: $(free -h)" | |
| echo "CPU info: $(nproc) cores" | |
| cat /proc/cpuinfo | grep "model name" | head -1 | |
| - name: Build ObservabilityTesting solution | |
| run: | | |
| echo "🔨 Building ObservabilityTesting solution..." | |
| echo " Building AppHost first to create Gateway Docker image..." | |
| dotnet restore ObservabilityTesting/ObservabilityTesting.sln | |
| # Build AppHost first to trigger Gateway Docker image build via MSBuild target | |
| dotnet build ObservabilityTesting/ObservabilityTesting.FlinkSqlAppHost/ObservabilityTesting.FlinkSqlAppHost.csproj --configuration ${{ env.configuration }} --no-restore | |
| echo " Verifying Gateway Docker image was created..." | |
| docker images | grep flinkdotnet-gateway | |
| if [ $? -ne 0 ]; then | |
| echo "❌ ERROR: Gateway Docker image not found!" | |
| echo "Available Docker images:" | |
| docker images | |
| exit 1 | |
| fi | |
| echo "✅ Gateway Docker image created: flinkdotnet-gateway:local" | |
| # Build the rest of the solution | |
| dotnet build ObservabilityTesting/ObservabilityTesting.sln --configuration ${{ env.configuration }} --no-restore | |
| echo "✅ Build complete" | |
| - name: Run Observability Integration Tests | |
| timeout-minutes: 20 | |
| env: | |
| DOTNET_ENVIRONMENT: Testing | |
| KAFKA_BOOTSTRAP_SERVERS: "localhost:9092" | |
| ASPIRE_ALLOW_UNSECURED_TRANSPORT: "true" | |
| DOCKER_HOST: "unix:///var/run/docker.sock" | |
| TESTCONTAINERS_RYUK_DISABLED: "false" | |
| TESTCONTAINERS_HOST_OVERRIDE: "localhost" | |
| run: | | |
| echo "=== Starting Observability Integration Tests ===" | |
| dotnet test ObservabilityTesting/ObservabilityTesting.IntegrationTests --no-build --configuration ${{ env.configuration }} --verbosity normal --logger "trx;LogFileName=TestResults.trx" --results-directory TestResults | |
| working-directory: ./ | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ObservabilityTestResults | |
| path: TestResults/ | |
| if: always() | |
| - name: Show Docker containers (diagnostic) | |
| if: always() | |
| run: | | |
| echo "=== Docker containers status ===" | |
| docker ps -a | |
| echo "=== Docker logs for Kafka ===" | |
| docker logs $(docker ps -aq --filter "name=kafka") 2>&1 | tail -100 || echo "No Kafka container found" | |
| echo "=== Docker logs for Flink JobManager ===" | |
| docker logs $(docker ps -aq --filter "name=flink-jobmanager") 2>&1 | tail -100 || echo "No Flink container found" | |
| echo "=== Docker logs for Prometheus ===" | |
| docker logs $(docker ps -aq --filter "name=prometheus") 2>&1 | tail -100 || echo "No Prometheus container found" | |
| echo "=== Docker logs for Grafana ===" | |
| docker logs $(docker ps -aq --filter "name=grafana") 2>&1 | tail -100 || echo "No Grafana container found" | |
| - name: Cleanup | |
| if: always() | |
| run: | | |
| docker system prune -f || true | |
| docker volume prune -f || true |