Skip to content

pin version

pin version #1

name: Workflow test against supported .NET
on:
- workflow_call
jobs:
build-win32:
runs-on: windows-latest
# https://github.com/NuGet/Home/issues/11548
env:
NUGET_CERT_REVOCATION_MODE: offline
steps:
- name: Clone repository
- uses: actions/checkout@v4
- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- 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 }}-v0-${{ hashFiles('.ci/windows/versions.json') }}
- uses: actions/cache@v4
with:
path: |
~/.nuget/packages
~/AppData/Local/NuGet/v3-cache
key: ${{ runner.os }}-v0-nuget-${{ hashFiles('**/*.csproj','Directory.Packages.props') }}
restore-keys: |
${{ runner.os }}-v0-nuget-
- name: Dotnet Version
run: dotnet --version
- name: Build (Debug)
run: dotnet build ${{ github.workspace }}\Build.csproj
- name: Verify
run: dotnet format ${{ github.workspace }}\rabbitmq-amqp-dotnet-client.sln --no-restore --verify-no-changes
- name: Install and Start RabbitMQ
id: install-start-rabbitmq
run: ${{ github.workspace }}\.ci\windows\gha-setup.ps1
- name: Test
timeout-minutes: 25
# --diag ${{ github.workspace}}\diag
run: dotnet test ${{ github.workspace }}\Build.csproj --no-restore --no-build --logger 'console;verbosity=detailed'
- name: Check for errors in RabbitMQ logs
run: ${{ github.workspace }}\.ci\windows\gha-log-check.ps1
# - name: Upload dotnet test diag logs (on failure)
# if: failure()
# uses: actions/upload-artifact@v4
# with:
# name: dotnet-test-diag-win32
# path: ${{ github.workspace }}/diag/
- name: Maybe upload RabbitMQ logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: rabbitmq-logs-integration-win32
path: ~/AppData/Roaming/RabbitMQ/log/
build-ubuntu:
runs-on: ubuntu-latest
steps:
- name: Clone repository
- uses: actions/checkout@v4
- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- uses: actions/cache@v4
with:
path: |
~/.nuget/packages
~/.local/share/NuGet/v3-cache
key: ${{ runner.os }}-v0-nuget-${{ hashFiles('**/*.csproj','Directory.Packages.props') }}
restore-keys: |
${{ runner.os }}-v0-nuget-
- name: Dotnet Version
run: dotnet --version
- name: Build (Debug)
run: dotnet build ${{ github.workspace }}/Build.csproj
- name: Verify
run: dotnet format ${{ github.workspace }}/rabbitmq-amqp-dotnet-client.sln --no-restore --verify-no-changes
- name: Start RabbitMQ
id: start-rabbitmq
run: ${{ github.workspace }}/.ci/ubuntu/cluster/gha-setup.sh
- name: Test
timeout-minutes: 25
# --diag ${{ github.workspace}}/diag
run: dotnet test ${{ github.workspace }}/Build.csproj --no-restore --no-build --logger "console;verbosity=detailed"
- name: Check for errors in RabbitMQ logs
run: ${{ github.workspace}}/.ci/ubuntu/cluster/gha-logs.sh check
- name: Collect RabbitMQ logs (on failure)
if: failure()
run: ${{ github.workspace}}/.ci/ubuntu/cluster/gha-logs.sh
# - name: Upload dotnet test diag logs (on failure)
# if: failure()
# uses: actions/upload-artifact@v4
# with:
# name: dotnet-test-diag-ubuntu
# path: ${{ github.workspace }}/diag/
- name: Upload RabbitMQ logs (on failure)
if: failure()
uses: actions/upload-artifact@v4
with:
name: rabbitmq-logs-integration-ubuntu
path: ${{ github.workspace }}/.ci/ubuntu/cluster/log/