You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by lz...@apache.org on 2026/08/12 21:14:30 UTC
(iggy) branch dotnet-e2e-split-tfm created (now 1f66c149d)
This is an automated email from the ASF dual-hosted git repository.
lukaszzborek pushed a change to branch dotnet-e2e-split-tfm
in repository https://gitbox.apache.org/repos/asf/iggy.git
at 1f66c149d ci(csharp): split e2e integration tests per target framework
This branch includes the following new commits:
new 1f66c149d ci(csharp): split e2e integration tests per target framework
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(iggy) 01/01: ci(csharp): split e2e integration tests per target framework
Posted by lz...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lukaszzborek pushed a commit to branch dotnet-e2e-split-tfm
in repository https://gitbox.apache.org/repos/asf/iggy.git
commit 1f66c149d92d836256042095bc791b3f38d0a0ef
Author: Ćukasz Zborek <lu...@gmail.com>
AuthorDate: Tue Aug 11 15:26:03 2026 +0200
ci(csharp): split e2e integration tests per target framework
Both TFM test hosts ran concurrently on one runner, each spawning
3-node VSR clusters. The contention caused 30s consensus timeouts
and retries. Encoding the framework in the task name gives each TFM
its own matrix job with an isolated runner.
Co-Authored-By: Claude Fable 5 <no...@anthropic.com>
---
.github/actions/csharp-dotnet/pre-merge/action.yml | 19 ++++++++++++-------
.github/config/components.yml | 2 +-
.github/workflows/_test.yml | 2 +-
3 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/.github/actions/csharp-dotnet/pre-merge/action.yml b/.github/actions/csharp-dotnet/pre-merge/action.yml
index c4dc35bde..b8acbff81 100644
--- a/.github/actions/csharp-dotnet/pre-merge/action.yml
+++ b/.github/actions/csharp-dotnet/pre-merge/action.yml
@@ -21,7 +21,7 @@ description: .NET pre-merge testing github iggy actions
inputs:
task:
- description: "Task to run (lint, test, build, e2e)"
+ description: "Task to run (lint, test, build, e2e-<tfm>)"
required: true
runs:
@@ -30,10 +30,12 @@ runs:
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
- dotnet-version: "10.0.x"
+ dotnet-version: |
+ 8.0.x
+ 10.0.x
- name: Setup Rust with cache
- if: inputs.task == 'test' || inputs.task == 'e2e'
+ if: inputs.task == 'test' || startsWith(inputs.task, 'e2e')
uses: ./.github/actions/utils/setup-rust-with-cache
- name: Restore dependencies
@@ -77,7 +79,7 @@ runs:
- name: Build Iggy server Docker image
id: docker_build
- if: inputs.task == 'e2e'
+ if: startsWith(inputs.task, 'e2e')
shell: bash
run: |
cargo build --locked --bin iggy-server --bin iggy
@@ -91,14 +93,17 @@ runs:
echo "docker_image=iggy-server:test" >> "$GITHUB_OUTPUT"
- name: Run integration tests
- if: inputs.task == 'e2e'
+ if: startsWith(inputs.task, 'e2e')
working-directory: foreign/csharp
env:
IGGY_SERVER_DOCKER_IMAGE: ${{ steps.docker_build.outputs.docker_image }}
IGGY_TEST_LOGS_DIR: ./reports/container-logs
IGGY_TEST_CLUSTER_NODES: "3"
+ IGGY_TASK: ${{ inputs.task }}
run: |
+ # Task name carries the target framework: e2e-net8.0 -> net8.0
dotnet test --project Iggy_SDK.Tests.Integration \
+ --framework "${IGGY_TASK#e2e-}" \
--no-build \
--verbosity normal \
--coverage \
@@ -109,7 +114,7 @@ runs:
shell: bash
- name: Collect container logs
- if: inputs.task == 'e2e' && always()
+ if: startsWith(inputs.task, 'e2e') && always()
shell: bash
run: |
mkdir -p foreign/csharp/reports/container-logs
@@ -117,7 +122,7 @@ runs:
- name: Upload Test Results
uses: actions/upload-artifact@v7
- if: inputs.task == 'e2e' && always()
+ if: startsWith(inputs.task, 'e2e') && always()
with:
name: dotnet-test-results-${{ inputs.task }}
path: foreign/csharp/reports
diff --git a/.github/config/components.yml b/.github/config/components.yml
index 43cf56e07..3ddd7520b 100644
--- a/.github/config/components.yml
+++ b/.github/config/components.yml
@@ -285,7 +285,7 @@ components:
paths:
- "foreign/csharp/**"
- "examples/csharp/**"
- tasks: ["lint", "test", "build", "e2e"]
+ tasks: ["lint", "test", "build", "e2e-net8.0", "e2e-net10.0"]
sdk-cpp:
depends_on:
diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml
index a2b6a61db..eb0483efb 100644
--- a/.github/workflows/_test.yml
+++ b/.github/workflows/_test.yml
@@ -196,7 +196,7 @@ jobs:
override_pr: ${{ github.event.pull_request.number }}
- name: Upload C# coverage to Codecov
- if: inputs.component == 'sdk-csharp' && (inputs.task == 'test' || inputs.task == 'e2e')
+ if: inputs.component == 'sdk-csharp' && (inputs.task == 'test' || startsWith(inputs.task, 'e2e'))
uses: codecov/codecov-action@v7.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}