Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 26 additions & 4 deletions .github/workflows/soak.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: soak
# 长期观察:每夜以 600 秒跑浸泡/混沌套件(ubuntu + windows 双平台)。
# 覆盖重连竞速(Soak_ReconnectRacing_LongRun,含状态机转移合法性与会话编号线性化的
# 全程校验)、随机故障混沌与长流完整性。失败会通过 GitHub 通知提醒维护者。
# 手动触发:workflow_dispatch 可指定时长(分钟数)。
# 手动触发:workflow_dispatch 可指定时长(秒数)。

on:
schedule:
Expand All @@ -20,13 +20,23 @@ permissions:

jobs:
soak:
name: soak (${{ matrix.os }})
name: soak (${{ matrix.os }}, ${{ matrix.tfm }})
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
include:
- os: ubuntu-latest
tfm: net8.0
- os: ubuntu-latest
tfm: net10.0
- os: windows-latest
tfm: net8.0
- os: windows-latest
tfm: net10.0
- os: windows-latest
tfm: net48

steps:
- uses: actions/checkout@v4
Expand All @@ -41,9 +51,21 @@ jobs:
- name: Build (Release)
run: dotnet build StreamFrame.slnx -c Release

- name: Soak tests
- name: Soak tests (${{ matrix.tfm }})
env:
STREAMFRAME_SOAK_SECONDS: ${{ inputs.seconds || '600' }}
run: >-
dotnet test test/StreamFrame.Tests/StreamFrame.Tests.csproj -c Release --no-build
-f ${{ matrix.tfm }}
--filter "FullyQualifiedName~Soak"
--logger "console;verbosity=detailed"
--logger "trx;LogFileName=soak-${{ matrix.os }}-${{ matrix.tfm }}.trx"
--results-directory "TestResults/${{ matrix.os }}/${{ matrix.tfm }}"

- name: Upload soak results (${{ matrix.tfm }})
if: always()
uses: actions/upload-artifact@v4
with:
name: soak-${{ matrix.os }}-${{ matrix.tfm }}-${{ github.run_id }}-${{ github.run_attempt }}
path: TestResults/${{ matrix.os }}/${{ matrix.tfm }}/
retention-days: 14
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

## [Unreleased]

### 变更
- 暂无
### 修复
- **Soak 目标矩阵([#66](https://github.com/CSJ608/StreamFrame/issues/66))**:显式选择 Ubuntu net8.0/net10.0、Windows net8.0/net10.0/net48,避免 Ubuntu 启动 .NET Framework 测试;job 名、详细日志与始终尝试上传的 TRX 产物按 OS/TFM 区分,测试断言失败继续使 job 失败。普通 CI 必需检查名不变。

## [2.6.0] - 2026-08-29

Expand Down
Loading