Skip to content

Fixed an exception which happens when PutAsync is used more than once and activity logging is enabled in main project #1710

Fixed an exception which happens when PutAsync is used more than once and activity logging is enabled in main project

Fixed an exception which happens when PutAsync is used more than once and activity logging is enabled in main project #1710

Workflow file for this run

name: Test
on:
pull_request: {}
push:
branches:
- main
jobs:
linux_test:
name: Linux
strategy:
fail-fast: false
matrix:
config:
- branch: 'v2.9'
- branch: 'latest'
- branch: 'main'
runs-on: ubuntu-latest
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
NUGET_XMLDOC_MODE: skip
steps:
- name: Install nats-server
run: |
branch=$(curl https://api.mtmk.dev/gh/v1/releases/tag/nats-io/nats-server/${{ matrix.config.branch }})
for i in 1 2 3
do
curl -sf https://binaries.nats.dev/nats-io/nats-server/v2@$branch | PREFIX=. sh && break || sleep 30
done
sudo mv nats-server /usr/local/bin
- name: Check nats-server
run: nats-server -v
- name: Checkout
uses: actions/checkout@v4
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.x'
- name: Build
run: dotnet build -c Release
- name: Test Core
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Client.Core.Tests
dotnet test -c Release --no-build --logger:"console;verbosity=normal"
- name: Test Core2
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Client.Core2.Tests
dotnet test -c Release --no-build
- name: Test CoreUnit
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Client.CoreUnit.Tests
dotnet test -c Release --no-build
- name: Test JetStream
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Client.JetStream.Tests
dotnet test -c Release --no-build
- name: Test KeyValueStore
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Client.KeyValueStore.Tests
dotnet test -c Release --no-build
- name: Test Object Store
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Client.ObjectStore.Tests
dotnet test -c Release --no-build
- name: Test Services
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Client.Services.Tests
dotnet test -c Release --no-build
- name: Test Simplified
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Client.Simplified.Tests
dotnet test -c Release --no-build
- name: Test OpenTelemetry
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Net.OpenTelemetry.Tests
dotnet test -c Release --no-build
- name: Check Native AOT
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
cd tests/NATS.Client.CheckNativeAot
rm -rf bin obj
dotnet publish -r linux-x64 -c Release -o dist | tee output.txt
# check for warnings
grep -i warning output.txt && exit 1
cd dist
ls -lh
# make sure it's executable
file NATS.Client.CheckNativeAot
file NATS.Client.CheckNativeAot | grep ELF || exit 1
# can't be less than a meg
ls --size NATS.Client.CheckNativeAot | perl -lne'/(\d+)/; exit(1) if $1 < 1024' || exit 1
./NATS.Client.CheckNativeAot
- name: Check Documentation Examples
run: |
killall nats-server 2> /dev/null | echo -n
nats-server -v
nats-server -js &
cd tests/NATS.Net.DocsExamples
dotnet run
windows_test:
name: Windows
strategy:
fail-fast: false
matrix:
config:
- branch: 'v2.9'
- branch: 'latest'
- branch: 'main'
runs-on: windows-latest
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
NUGET_XMLDOC_MODE: skip
MSYS_NO_PATHCONV: 1
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.x'
- name: Get nats-server
shell: bash
run: |
mkdir tools-nats-server && cd tools-nats-server
branch=$(curl https://api.mtmk.dev/gh/v1/releases/tag/nats-io/nats-server/${{ matrix.config.branch }})
curl -sL -o nats-server.exe "https://binaries.nats.dev/binary/github.com/nats-io/nats-server/v2?os=windows&arch=amd64&version=$branch"
cygpath -w "$(pwd)" | tee -a "$GITHUB_PATH"
- name: Check nats-server
run: nats-server -v
- name: Get tools
run: |
Invoke-WebRequest https://download.jetbrains.com/resharper/JetBrains.dotMemoryUnit.3.2.20220510.zip -OutFile dotMemoryUnit.zip
Expand-Archive dotMemoryUnit.zip
$current_path = (Get-Item .).FullName
echo "$current_path\dotMemoryUnit" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
dotnet tool install --global NUnit.ConsoleRunner.NetCore
- name: Build
run: dotnet build -c Release
- name: Memory Test (net6.0)
run: |
tasklist | grep -i nats-server && taskkill -F -IM nats-server.exe
nats-server.exe -v
dotMemoryUnit $env:userprofile\.dotnet\tools\nunit.exe --propagate-exit-code -- .\tests\NATS.Client.Core.MemoryTests\bin\Release\net6.0\NATS.Client.Core.MemoryTests.dll
- name: Platform Test
run: |
tasklist | grep -i nats-server && taskkill -F -IM nats-server.exe
nats-server.exe -v
cd tests\NATS.Client.Platform.Windows.Tests
dotnet test -c Release --no-build
# Not working on Windows reliably yet
#- name: Test Core
# run: |
# tasklist | grep -i nats-server && taskkill -F -IM nats-server.exe
# nats-server.exe -v
# cd tests/NATS.Client.Core.Tests
# dotnet test -c Release --no-build
- name: Test Core2
run: |
tasklist | grep -i nats-server && taskkill -F -IM nats-server.exe
nats-server.exe -v
cd tests/NATS.Client.Core2.Tests
dotnet test -c Release --no-build
- name: Test CoreUnit
run: |
tasklist | grep -i nats-server && taskkill -F -IM nats-server.exe
nats-server.exe -v
cd tests/NATS.Client.CoreUnit.Tests
dotnet test -c Release --no-build