Skip to content

feat: Push based cancellation for diagnostic services #277

feat: Push based cancellation for diagnostic services

feat: Push based cancellation for diagnostic services #277

Workflow file for this run

name: E2E Tests
on:
push:
branches:
- 'release-*'
pull_request:
paths:
- 'common/**'
- 'strimzi-mcp/**'
- 'systemtest/**'
- 'loki-log-provider/**'
- 'elasticsearch-log-provider/**'
- 'metrics-prometheus/**'
- 'dev/**'
- '!**/*.md'
workflow_dispatch:
permissions:
contents: read
pull-requests: write
checks: write
jobs:
e2e-kind:
runs-on: ubuntu-latest
timeout-minutes: 160
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Set up JDK 21
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
java-version: '21'
distribution: 'temurin'
- name: Cache Maven packages
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Create kind cluster with registry
uses: strimzi/github-actions/.github/actions/dependencies/setup-kind@v2
with:
controlNodes: "1"
workerNodes: "1"
- name: Deploy Prometheus operator
run: ./dev/scripts/setup-prometheus.sh deploy
- name: Deploy Loki and Promtail
run: ./dev/scripts/setup-loki-kind.sh deploy
- name: Deploy Elasticsearch and Fluent Bit
run: ./dev/scripts/setup-elasticsearch-kind.sh deploy
- name: Build MCP image and load into kind
run: |
./mvnw package -pl common,metrics-prometheus,loki-log-provider,elasticsearch-log-provider,strimzi-mcp \
-DskipTests \
-Dquarkus.container-image.build=true \
-Dquarkus.container-image.tag=test
kind load docker-image quay.io/streamshub/strimzi-mcp:test --name kind-cluster
- name: Build Connect image and load into kind
run: |
./mvnw package -pl systemtest -Pbuild-connect-image -DskipTests \
-Dconnect.image=quay.io/streamshub/mcp-connect-test:test \
-Dconnect.image.push=false \
-Dcontainer.engine=docker \
-Dcontainer.platform=linux/amd64
kind load docker-image quay.io/streamshub/mcp-connect-test:test --name kind-cluster
- name: Run system tests
env:
MCP_IMAGE: quay.io/streamshub/strimzi-mcp:test
CONNECT_IMAGE: quay.io/streamshub/mcp-connect-test:test
MCP_CONNECTIVITY: NODEPORT
run: |
./mvnw verify -pl systemtest \
-Psystemtest
- name: Generate Allure report
if: always()
run: npx allure generate systemtest/target/allure-results -o allure-report
- name: Post Allure report to PR
uses: allure-framework/allure-action@v0
if: always() && github.event_name == 'pull_request'
with:
report-directory: allure-report
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload Allure report
uses: actions/upload-artifact@v7.0.1
if: always()
with:
name: allure-report
path: allure-report/
- name: Upload test logs
uses: actions/upload-artifact@v7.0.1
if: failure()
with:
name: test-logs
path: systemtest/target/test-logs/