mirror of
https://github.com/sshnet/SSH.NET.git
synced 2026-09-10 09:15:47 +00:00
CI: add Windows Integration Tests for .NET (#1704)
* CI: add Windows Integration Tests for .NET see https://github.com/sshnet/SSH.NET/pull/1702#issuecomment-3342506642 * fix podman setup with Windows and .NET * debug * x * x * x * revert * Run Windows .NET tests in separate job so they run in parallel and we avoid the Common_CreateMoreChannelsThanMaxSessions test failure. * fix coverlet artifacts * fix missing PermitTTY in RemoteSshdConfig Reset this fixes a test failure in Common_CreateMoreChannelsThanMaxSessions when running the tests multiple times against the same SSH server instance. see https://github.com/sshnet/SSH.NET/pull/1704#issuecomment-3343210311 * speed up Windows tests turns out this is caused by DNS resolution taking about 2 seconds on every new connection... * add windows integration tests to Publish needs: --------- Co-authored-by: Rob Hague <rob.hague00@gmail.com> Co-authored-by: Robert Hague <rh@johnstreetcapital.com>
This commit is contained in:
@@ -15,7 +15,7 @@ jobs:
|
||||
fetch-depth: 0 # needed for Nerdbank.GitVersioning
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@v5
|
||||
|
||||
- name: Build Unit Tests .NET
|
||||
run: dotnet build -f net9.0 test/Renci.SshNet.Tests/
|
||||
@@ -62,7 +62,7 @@ jobs:
|
||||
fetch-depth: 0 # needed for Nerdbank.GitVersioning
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@v5
|
||||
|
||||
- name: Build Solution
|
||||
run: dotnet build Renci.SshNet.sln
|
||||
@@ -103,8 +103,8 @@ jobs:
|
||||
-p:CoverletOutput=../../coverlet/windows_unit_test_net_4_6_2_coverage.xml `
|
||||
test/Renci.SshNet.Tests/
|
||||
|
||||
Windows-Integration-Tests:
|
||||
name: Windows Integration Tests
|
||||
Windows-Integration-Tests-NetFramework:
|
||||
name: Windows Integration Tests .NET Framework
|
||||
runs-on: windows-2025
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -113,7 +113,7 @@ jobs:
|
||||
fetch-depth: 0 # needed for Nerdbank.GitVersioning
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@v5
|
||||
|
||||
- name: Setup WSL2
|
||||
uses: Vampire/setup-wsl@6a8db447be7ed35f2f499c02c6e60ff77ef11278 # v6.0.0
|
||||
@@ -142,7 +142,49 @@ jobs:
|
||||
- name: Archive Coverlet Results
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Coverlet Results Windows
|
||||
name: Coverlet Results Windows .NET Framework
|
||||
path: coverlet
|
||||
|
||||
Windows-Integration-Tests-Net:
|
||||
name: Windows Integration Tests .NET
|
||||
runs-on: windows-2025
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0 # needed for Nerdbank.GitVersioning
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v5
|
||||
|
||||
- name: Setup WSL2
|
||||
uses: Vampire/setup-wsl@6a8db447be7ed35f2f499c02c6e60ff77ef11278 # v6.0.0
|
||||
with:
|
||||
distribution: Ubuntu-24.04
|
||||
|
||||
- name: Setup SSH Server
|
||||
shell: wsl-bash {0}
|
||||
run: |
|
||||
apt-get update && apt-get upgrade -y
|
||||
apt-get install -y podman
|
||||
podman build -t renci-ssh-tests-server-image -f test/Renci.SshNet.IntegrationTests/Dockerfile test/Renci.SshNet.IntegrationTests/
|
||||
podman run --rm -h renci-ssh-tests-server -d -p 2222:22 renci-ssh-tests-server-image
|
||||
|
||||
- name: Run Integration Tests .NET
|
||||
run:
|
||||
dotnet test `
|
||||
-f net9.0 `
|
||||
--logger "console;verbosity=normal" `
|
||||
--logger GitHubActions `
|
||||
-p:CollectCoverage=true `
|
||||
-p:CoverletOutputFormat=cobertura `
|
||||
-p:CoverletOutput=..\..\coverlet\windows_integration_test_net_9_coverage.xml `
|
||||
test\Renci.SshNet.IntegrationTests\
|
||||
|
||||
- name: Archive Coverlet Results
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Coverlet Results Windows .NET
|
||||
path: coverlet
|
||||
|
||||
Publish:
|
||||
@@ -153,6 +195,8 @@ jobs:
|
||||
needs:
|
||||
- Windows
|
||||
- Linux
|
||||
- Windows-Integration-Tests-NetFramework
|
||||
- Windows-Integration-Tests-Net
|
||||
steps:
|
||||
- name: Download NuGet Package
|
||||
uses: actions/download-artifact@v5
|
||||
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
uses: actions/configure-pages@v5
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
uses: actions/setup-dotnet@v5
|
||||
|
||||
- name: Setup docfx
|
||||
run: dotnet tool update -g docfx
|
||||
|
||||
Reference in New Issue
Block a user