Skip to content

Commit f41ea5e

Browse files
committed
Merge branch 'master' into master-no-changes-during-persist
# Conflicts: # Orm/Xtensive.Orm/Orm/Internals/ChangeRegistries/EntityChangeRegistry.cs # Orm/Xtensive.Orm/Orm/Internals/ChangeRegistries/EntitySetChangeRegistry.cs # Orm/Xtensive.Orm/Orm/Internals/ChangeRegistries/ReferenceFieldsChangesRegistry.cs # Orm/Xtensive.Orm/Orm/Session.cs # Orm/Xtensive.Orm/Strings.resx
2 parents 7a7eaee + b45662e commit f41ea5e

File tree

1,682 files changed

+83307
-31623
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,682 files changed

+83307
-31623
lines changed

.editorconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ indent_style = space
3535
tab_width = 2
3636

3737
# New line preferences
38-
end_of_line = crlf
3938
insert_final_newline = false
4039

4140
#### .NET Coding Conventions ####
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: Run set of storage-dependant tests
2+
description: Groups runs of several test projects that require a database
3+
4+
inputs:
5+
build_config:
6+
description: 'Build configuration'
7+
required: true
8+
default: 'Release'
9+
type: string
10+
show_all_fails:
11+
description: 'No mute tests'
12+
type: boolean
13+
default: false
14+
required: true
15+
test_output_verbosity:
16+
description: 'Verbosity for dotnet test command'
17+
required: true
18+
default: 'minimal'
19+
type: string
20+
test_results_folder:
21+
description: 'Folder where trx-files will be located for later parsing'
22+
required: true
23+
type: string
24+
run_main:
25+
description: 'Run Xtensive.Orm.Tests tests'
26+
required: true
27+
default: true
28+
type: boolean
29+
run_sql:
30+
description: 'Run Xtensive.Orm.Tests.Sql tests'
31+
required: true
32+
default: true
33+
type: boolean
34+
run_extensions:
35+
description: 'Run extension projects tests'
36+
required: true
37+
default: true
38+
type: boolean
39+
40+
runs:
41+
using: "composite"
42+
steps:
43+
- name: Test Orm.Tests set of tests
44+
env:
45+
GA_NO_IGNORE: ${{ inputs.show_all_fails }}
46+
if: ${{ !cancelled() && fromJSON(inputs.run_main) }}
47+
shell: bash
48+
run: dotnet test Orm/Xtensive.Orm.Tests/Xtensive.Orm.Tests.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Tests.trx" --results-directory ${{ inputs.test_results_folder }} -v ${{ inputs.test_output_verbosity }}
49+
50+
- name: Test Orm.Tests.Sql set of tests
51+
env:
52+
GA_NO_IGNORE: ${{ inputs.show_all_fails }}
53+
if: ${{ !cancelled() && fromJSON(inputs.run_sql) }}
54+
shell: bash
55+
run: dotnet test Orm/Xtensive.Orm.Tests.Sql/Xtensive.Orm.Tests.Sql.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Tests.Sql.trx" --results-directory ${{ inputs.test_results_folder }} -v ${{ inputs.test_output_verbosity }}
56+
57+
- name: Test BulkOperations extension set of tests
58+
env:
59+
GA_NO_IGNORE: ${{ inputs.show_all_fails }}
60+
if: ${{ !cancelled() && fromJSON(inputs.run_extensions) }}
61+
shell: bash
62+
run: dotnet test Extensions/Xtensive.Orm.BulkOperations.Tests/Xtensive.Orm.BulkOperations.Tests.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.BulkOperations.Tests.trx" --results-directory ${{ inputs.test_results_folder }} -v ${{ inputs.test_output_verbosity }}
63+
64+
- name: Test Localization extension set of tests
65+
env:
66+
GA_NO_IGNORE: ${{ inputs.show_all_fails }}
67+
if: ${{ !cancelled() && fromJSON(inputs.run_extensions) }}
68+
shell: bash
69+
run: dotnet test Extensions/Xtensive.Orm.Localization.Tests/Xtensive.Orm.Localization.Tests.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Localization.Tests.trx" --results-directory ${{ inputs.test_results_folder }} -v ${{ inputs.test_output_verbosity }}
70+
71+
# NOTE! NO REPROCESSING TESTS. Reprocessing tests use multi-thread processing which may cause infinite execution.
72+
# Steps in composite action are not allowed to set timeout, it can be set only in calling job for entire composite
73+
# step. To not disturb normal tests execution Reprocessing tests moved outside the action.
74+
75+
- name: Test Security extension set of tests
76+
env:
77+
GA_NO_IGNORE: ${{ inputs.show_all_fails }}
78+
if: ${{ !cancelled() && fromJSON(inputs.run_extensions) }}
79+
shell: bash
80+
run: dotnet test Extensions/Xtensive.Orm.Security.Tests/Xtensive.Orm.Security.Tests.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Security.Tests.trx" --results-directory ${{ inputs.test_results_folder }} -v ${{ inputs.test_output_verbosity }}
81+
82+
- name: Test Tracking extension set of tests
83+
env:
84+
GA_NO_IGNORE: ${{ inputs.show_all_fails }}
85+
if: ${{ !cancelled() && fromJSON(inputs.run_extensions) }}
86+
shell: bash
87+
run: dotnet test Extensions/Xtensive.Orm.Tracking.Tests/Xtensive.Orm.Tracking.Tests.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Tracking.Tests.trx" --results-directory ${{ inputs.test_results_folder }} -v ${{ inputs.test_output_verbosity }}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Run set of storage-independant tests
2+
description: Groups runs of several test projects that don't require a database
3+
4+
inputs:
5+
build_config:
6+
description: 'Build configuration'
7+
required: true
8+
default: 'Release'
9+
type: string
10+
test_output_verbosity:
11+
description: 'Verbosity for dotnet test command'
12+
required: true
13+
default: 'minimal'
14+
type: string
15+
test_results_folder:
16+
description: 'Folder where trx-files will be located for later parsing'
17+
required: true
18+
type: string
19+
run_core:
20+
description: 'Run Xtensive.Orm.Tests.Core tests'
21+
required: true
22+
default: true
23+
type: boolean
24+
run_log4net:
25+
description: 'Run Xtensive.Orm.Logging.log4net tests'
26+
required: true
27+
default: true
28+
type: boolean
29+
run_nlog:
30+
description: 'Run Xtensive.Orm.Logging.NLog tests'
31+
required: true
32+
default: true
33+
type: boolean
34+
35+
runs:
36+
using: "composite"
37+
steps:
38+
# core tests does not require any storage and take not so much time
39+
- name: Run Core tests
40+
if: ${{ !cancelled() && fromJSON(inputs.run_core) }}
41+
shell: bash
42+
run: dotnet test Orm/Xtensive.Orm.Tests.Core/Xtensive.Orm.Tests.Core.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Tests.Core.trx" --results-directory ${{ inputs.test_results_folder }} -v ${{ inputs.test_output_verbosity }}
43+
44+
- name: Run log4net tests
45+
if: ${{ !cancelled() && fromJSON(inputs.run_log4net) }}
46+
shell: bash
47+
run: dotnet test Extensions/Xtensive.Orm.Logging.log4net.Tests/Xtensive.Orm.Logging.log4net.Tests.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Logging.log4net.Tests.trx" --results-directory ${{ inputs.test_results_folder }} -v ${{ inputs.test_output_verbosity }}
48+
49+
- name: Run NLog tests
50+
if: ${{ !cancelled() && fromJSON(inputs.run_nlog) }}
51+
shell: bash
52+
run: dotnet test Extensions/Xtensive.Orm.Logging.NLog.Tests/Xtensive.Orm.Logging.NLog.Tests.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Logging.NLog.Tests.trx" --results-directory ${{ inputs.test_results_folder }} -v ${{ inputs.test_output_verbosity }}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Setup .NET versions
2+
description: Sets up one or multiple .NET versions according to target frameworks
3+
4+
inputs:
5+
target_framework:
6+
description: "Target frameworks which are used in projects (net6.0, netcoreapp2.2, netcoreapp3.1, etc.)"
7+
required: true
8+
type: string
9+
10+
runs:
11+
using: "composite"
12+
13+
steps:
14+
- name: Setup .NET 9 (if needed)
15+
if: ${{ contains(inputs.target_framework, '9.0') }}
16+
uses: actions/setup-dotnet@v4
17+
with:
18+
dotnet-version: '9.0.x'
19+
20+
- name: Setup .NET 8 (if needed)
21+
if: ${{ contains(inputs.target_framework, '8.0') }}
22+
uses: actions/setup-dotnet@v4
23+
with:
24+
dotnet-version: '8.0.x'
25+
26+
- name: Setup .NET 7 (if needed)
27+
if: ${{ contains(inputs.target_framework, '7.0') }}
28+
uses: actions/setup-dotnet@v4
29+
with:
30+
dotnet-version: '7.0.x'
31+
32+
- name: Setup .NET 6 (if needed)
33+
if: ${{ contains(inputs.target_framework, '6.0') }}
34+
uses: actions/setup-dotnet@v4
35+
with:
36+
dotnet-version: '6.0.x'
37+
38+
- name: Setup .NET 5 (if needed)
39+
if: ${{ contains(inputs.target_framework, '5.0') }}
40+
uses: actions/setup-dotnet@v4
41+
with:
42+
dotnet-version: '5.0.x'
43+
44+
- name: Setup .NET Core 3.1 (if needed)
45+
if: ${{ contains(inputs.target_framework, '3.1') }}
46+
uses: actions/setup-dotnet@v4
47+
with:
48+
dotnet-version: '3.1.x'
49+
50+
- name: Setup .NET Core 2.0 (if needed)
51+
if: ${{ contains(inputs.target_framework, '2.0') }}
52+
uses: actions/setup-dotnet@v4
53+
with:
54+
dotnet-version: '2.0.x'

0 commit comments

Comments
 (0)