* Update GHA build to more closely match RabbitMQ.Client
(AMQP 0.9.…
#1
Workflow file for this run
This file contains hidden or 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: rabbitmq-stream-dotnet-client | ||
on: | ||
- workflow_call | ||
jobs: | ||
build-win32: | ||
name: build/test on windows-latest | ||
runs-on: windows-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/cache@v4 | ||
with: | ||
# Note: the cache path is relative to the workspace directory | ||
# https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#using-the-cache-action | ||
path: ~/installers | ||
key: ${{ runner.os }}-v1-${{ hashFiles('.ci/versions.json') }} | ||
- uses: actions/cache@v4 | ||
with: | ||
path: | | ||
~/.nuget/packages | ||
~/AppData/Local/NuGet/v4-cache | ||
key: ${{ runner.os }}-v0-nuget-${{ hashFiles('**/*.csproj','./Directory.Packages.props') }} | ||
restore-keys: | | ||
${{ runner.os }}-v0-nuget- | ||
- name: Install and start RabbitMQ | ||
run: ./.ci/install.ps1 | ||
- name: Build (Debug) | ||
run: dotnet build ${{ github.workspace }}\Build.csproj | ||
- name: Verify | ||
run: dotnet format ${{ github.workspace }}\rabbitmq-stream-dotnet-client.sln --no-restore --verify-no-changes | ||
- name: Test | ||
run: dotnet test ${{ github.workspace }}\Tests\Tests.csproj --no-restore ---no-build --logger "console;verbosity=detailed" | ||
build: | ||
name: build/test on ubuntu-latest | ||
runs-on: ubuntu-latest | ||
services: | ||
rabbitmq: | ||
image: rabbitmq:4-management | ||
env: | ||
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: -rabbitmq_stream advertised_host localhost -rabbit collect_statistics_interval 4 | ||
ports: | ||
- 5552:5552 | ||
- 5672:5672 | ||
- 15672:15672 | ||
- 1883:1883 | ||
- 61613:61613 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-dotnet@v4 | ||
with: | ||
dotnet-version: | | ||
8.x | ||
9.x | ||
- uses: actions/cache@v4 | ||
with: | ||
path: | | ||
~/.nuget/packages | ||
~/.local/share/NuGet/v4-cache | ||
key: ${{ runner.os }}-v0-nuget-${{ hashFiles('**/*.csproj','./Directory.Packages.props') }} | ||
restore-keys: | | ||
${{ runner.os }}-v0-nuget- | ||
- name: Wait RabbitMQ is Up | ||
run: docker exec ${{ job.services.rabbitmq.id }} rabbitmqctl await_startup | ||
- name: Enable RabbitMQ Plugins | ||
run: docker exec ${{ job.services.rabbitmq.id }} rabbitmq-plugins enable rabbitmq_stream rabbitmq_stream_management | ||
- name: Build (Debug) | ||
run: dotnet build ${{ github.workspace }}/Build.csproj | ||
- name: Verify | ||
run: dotnet format ${{ github.workspace }}/rabbitmq-stream-dotnet-client.sln --no-restore --verify-no-changes | ||
- name: Test | ||
run: dotnet test ${{ github.workspace }}/Tests/Tests.csproj --no-restore --no-build --logger "console;verbosity=detailed" /p:AltCover=true | ||
- name: Upload code coverage to Codecov | ||
run: bash <(curl -s https://codecov.io/bash) |