Update consume backpressure handling #1547
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
pull_request: {} | |
push: | |
branches: | |
- main | |
jobs: | |
dotnet: | |
name: dotnet | |
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@v3 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: '8.x' | |
- name: Build | |
run: dotnet build -c Debug | |
- name: Test Core | |
run: dotnet test -c Debug --no-build --logger:"console;verbosity=normal" tests/NATS.Client.Core.Tests/NATS.Client.Core.Tests.csproj | |
- name: Test JetStream | |
run: dotnet test -c Debug --no-build --logger:"console;verbosity=normal" tests/NATS.Client.JetStream.Tests/NATS.Client.JetStream.Tests.csproj | |
- name: Test Key/Value Store | |
run: dotnet test -c Debug --no-build --logger:"console;verbosity=normal" tests/NATS.Client.KeyValueStore.Tests/NATS.Client.KeyValueStore.Tests.csproj | |
- name: Test Object Store | |
run: dotnet test -c Debug --no-build --logger:"console;verbosity=normal" tests/NATS.Client.ObjectStore.Tests/NATS.Client.ObjectStore.Tests.csproj | |
- name: Test Services | |
run: dotnet test -c Debug --no-build --logger:"console;verbosity=normal" tests/NATS.Client.Services.Tests/NATS.Client.Services.Tests.csproj | |
- name: Test OpenTelemetry | |
run: dotnet test -c Debug --no-build --logger:"console;verbosity=normal" tests/NATS.Net.OpenTelemetry.Tests/NATS.Net.OpenTelemetry.Tests.csproj | |
- name: Check Native AOT | |
run: | | |
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 | |
memory_test: | |
name: memory test | |
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 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v3 | |
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 }}) | |
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 | |
mv nats-server nats-server.exe | |
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: 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 (Windows net481) | |
run: dotnet test -c Release --no-build --logger:"console;verbosity=normal" -f net481 .\tests\NATS.Client.Platform.Windows.Tests\NATS.Client.Platform.Windows.Tests.csproj | |