Skip to content

CI

CI #5762

Workflow file for this run

name: CI
on:
push:
branches:
- master
- release-*
pull_request:
workflow_dispatch:
env:
DOTNET_NOLOGO: true
jobs:
build:
name: ${{ matrix.os-name }}-${{ matrix.test-category }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ windows-2022 ]
test-category: [ Default, SqlServer, AzureServiceBus, RabbitMQ, AzureStorageQueues, MSMQ, SQS ]
include:
- os: windows-2022
os-name: Windows
fail-fast: false
steps:
- name: Check for secrets
env:
SECRETS_AVAILABLE: ${{ secrets.SECRETS_AVAILABLE }}
shell: pwsh
run: exit $(If ($env:SECRETS_AVAILABLE -eq 'true') { 0 } Else { 1 })
- name: Checkout
uses: actions/[email protected]
with:
fetch-depth: 0
- name: Setup .NET SDK
uses: actions/[email protected]
with:
dotnet-version: 6.0.x
- name: Add msbuild to PATH
uses: microsoft/[email protected]
- name: Build
run: msbuild src -p:Configuration=Release -restore -m -verbosity:minimal
- name: Zip PowerShell module
run: |
New-Item assets\PowerShellModules -ItemType Directory
Compress-Archive -Path deploy\PowerShellModules\Particular.ServiceControl.Management\* -DestinationPath assets\PowerShellModules\Particular.ServiceControl.Management.zip
- name: Upload assets
uses: actions/[email protected]
if: matrix.test-category == 'MSMQ' && matrix.os-name == 'Windows'
with:
name: assets
path: |
nugets/
zip/
assets/
retention-days: 1
- name: Azure login
uses: azure/[email protected]
if: matrix.test-category == 'AzureServiceBus' || matrix.test-category == 'AzureStorageQueues' || matrix.test-category == 'RabbitMQ'
with:
creds: ${{ secrets.AZURE_ACI_CREDENTIALS }}
- name: Setup SQL Server
uses: Particular/[email protected]
if: matrix.test-category == 'SqlServer'
with:
connection-string-env-var: ServiceControl.TransportTests.SQL.ConnectionString
catalog: nservicebus
- name: Setup RabbitMQ
uses: Particular/[email protected]
if: matrix.test-category == 'RabbitMQ'
with:
connection-string-name: ServiceControl.TransportTests.RabbitMQ.ConnectionString
tag: ServiceControl
registry-username: ${{ secrets.DOCKERHUB_USERNAME }}
registry-password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup Azure Service Bus
uses: Particular/[email protected]
if: matrix.test-category == 'AzureServiceBus'
with:
connection-string-name: ServiceControl.TransportTests.ASBS.ConnectionString
tag: ServiceControl
- name: Setup Azure Storage Queues
uses: Particular/[email protected]
if: matrix.test-category == 'AzureStorageQueues'
with:
connection-string-name: ServiceControl.TransportTests.ASQ.ConnectionString
tag: ServiceControl
- name: Setup SQS environment variables
if: matrix.test-category == 'SQS'
shell: pwsh
run: |
echo "AWS_REGION=${{ secrets.AWS_REGION }}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
echo "AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
echo "AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }}" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
# Cleanup of queues starting with `GHA-` handled by https://github.com/Particular/NServiceBus.AmazonSQS/blob/master/.github/workflows/tests-cleanup.yml
$connectString = "AccessKeyId=${{ secrets.AWS_ACCESS_KEY_ID }};SecretAccessKey=${{ secrets.AWS_SECRET_ACCESS_KEY }};Region=${{ secrets.AWS_REGION }};QueueNamePrefix=GHA-${{ github.run_id }}"
echo "ServiceControl.TransportTests.SQS.ConnectionString=$connectString" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
- name: Run tests
uses: Particular/[email protected]
env:
ServiceControl_TESTS_FILTER: ${{ matrix.test-category }}
ServiceControl/LicenseText: ${{ secrets.LICENSETEXT }}
ServiceControl.Audit/LicenseText: ${{ secrets.LICENSETEXT }}
Monitoring/LicenseText: ${{ secrets.LICENSETEXT }}