-
Notifications
You must be signed in to change notification settings - Fork 1
129 lines (129 loc) · 4.28 KB
/
Copy pathci.yml
File metadata and controls
129 lines (129 loc) · 4.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: CI
on:
push:
branches:
- master
- release-*
pull_request:
workflow_dispatch:
env:
DOTNET_NOLOGO: true
defaults:
run:
shell: pwsh
jobs:
build:
name: ${{ matrix.os-name }}-${{ matrix.engines }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ windows-latest, ubuntu-latest ]
engines: [
AzureStorage,
Oracle,
RabbitMQ,
RavenDB4,
SqlServer,
AzureStorage-Oracle,
AzureStorage-RabbitMQ,
AzureStorage-RavenDB4,
AzureStorage-SqlServer,
Oracle-RabbitMQ,
RabbitMQ-RavenDB4,
RabbitMQ-SqlServer
]
include:
- engines: AzureStorage
upload-packages: true
# Add os-name alias for job name
- os: windows-latest
os-name: Windows
- os: ubuntu-latest
os-name: Linux
# Additional permutations
- os: windows-latest
os-name: Windows
engines: RabbitMQ-RavenDB3
- os: windows-latest
os-name: Windows
engines: RavenDB3
fail-fast: false
steps:
- name: Check for secrets
env:
SECRETS_AVAILABLE: ${{ secrets.SECRETS_AVAILABLE }}
run: exit $(If ($env:SECRETS_AVAILABLE -eq 'true') { 0 } Else { 1 })
- name: Checkout
uses: actions/checkout@v7.0.0
with:
fetch-depth: 0
- name: Setup .NET SDK
uses: actions/setup-dotnet@v5.4.0
with:
dotnet-version: 8.0.x
- name: Build
run: dotnet build src --configuration Release
- name: Upload packages
if: matrix.upload-packages && runner.os == 'Windows'
uses: actions/upload-artifact@v7.0.1
with:
name: NuGet packages
path: nugets/
retention-days: 7
- name: Azure login
uses: azure/login@v3.0.0
with:
creds: ${{ secrets.AZURE_ACI_CREDENTIALS }}
- name: Setup Azure Storage
if: contains(matrix.engines, 'AzureStorage')
uses: Particular/setup-azurestorage-action@v2.0.0
with:
connection-string-name: AzureStorageConnectionString
azure-credentials: ${{ secrets.AZURE_ACI_CREDENTIALS }}
tag: TimeoutMigrationTool
- name: Setup Oracle
if: contains(matrix.engines, 'Oracle')
uses: Particular/setup-oracle-action@v1.6.0
with:
connection-string-name: OracleConnectionString
tag: TimeoutMigrationTool
registry-username: ${{ secrets.DOCKERHUB_USERNAME }}
registry-password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup RabbitMQ
if: contains(matrix.engines, 'RabbitMQ')
uses: Particular/setup-rabbitmq-action@v1.7.1
with:
connection-string-name: RabbitMqConnectionString
host-env-var-name: RabbitMqHost
tag: TimeoutMigrationTool
registry-username: ${{ secrets.DOCKERHUB_USERNAME }}
registry-password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup RavenDB3
if: contains(matrix.engines, 'RavenDB3')
shell: pwsh
run: |
choco install ravendb3 --version 3.5.3 -y
echo "Raven3Url=http://localhost:8080" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf-8 -Append
- name: Setup RavenDB4
if: contains(matrix.engines, 'RavenDB4')
id: setup-ravendb
uses: Particular/setup-ravendb-action@v1.11.0
with:
single-connection-string-name: Raven4Url
ravendb-license: ${{ secrets.RAVENDB_LICENSE }}
ravendb-mode: Single
ravendb-version: 4.2-ubuntu-latest
tag: TimeoutMigrationTool
registry-username: ${{ secrets.DOCKERHUB_USERNAME }}
registry-password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Install SQL Server
if: contains(matrix.engines, 'SqlServer')
uses: Particular/install-sql-server-action@v1.4.0
with:
connection-string-env-var: SqlServerConnectionString
catalog: nservicebus
extra-params: "Encrypt=False;"
- name: Run tests
uses: Particular/run-tests-action@v1.7.0
with:
report-warnings: ${{ secrets.TESTS_REPORT_WARNINGS }}