From f9ef0d207a224f7516e04a04ecefb0ebf578594e Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 16 Sep 2025 18:11:47 +0500 Subject: [PATCH 01/75] Indentation --- .github/workflows/reusable-storage-independant-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-storage-independant-tests.yml b/.github/workflows/reusable-storage-independant-tests.yml index 79cb433ea..ec4734ba1 100644 --- a/.github/workflows/reusable-storage-independant-tests.yml +++ b/.github/workflows/reusable-storage-independant-tests.yml @@ -64,7 +64,7 @@ jobs: DO_TargetFrameworks: ${{ inputs.target_framework }} TEST_RESULTS_FOLDER: _Build/tests/${{ inputs.build_config }}/${{ inputs.target_framework }}/no-database steps: - - name: Downgrade OpenSSL + - name: Downgrade OpenSSL timeout-minutes: 3 run: | wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb From d9426e7e4aa6d6a4599d805c28d0d5152ea1c61d Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 17 Sep 2025 17:57:57 +0500 Subject: [PATCH 02/75] Correct link to reusable workflow --- .github/workflows/dispatched-firebird-tests.yml | 2 +- .github/workflows/dispatched-mssql-tests.yml | 4 ++-- .github/workflows/dispatched-mysql5-tests.yml | 4 ++-- .github/workflows/dispatched-pgsql10-tests.yml | 4 ++-- .github/workflows/dispatched-pgsql9-tests.yml | 8 ++++---- .github/workflows/dispatched-sqlite-tests.yml | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/dispatched-firebird-tests.yml b/.github/workflows/dispatched-firebird-tests.yml index d5d536295..16c008a4a 100644 --- a/.github/workflows/dispatched-firebird-tests.yml +++ b/.github/workflows/dispatched-firebird-tests.yml @@ -36,7 +36,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: firebird30 build_config: Release diff --git a/.github/workflows/dispatched-mssql-tests.yml b/.github/workflows/dispatched-mssql-tests.yml index 6286600d3..94dde8d00 100644 --- a/.github/workflows/dispatched-mssql-tests.yml +++ b/.github/workflows/dispatched-mssql-tests.yml @@ -41,7 +41,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: mssql2017 build_config: Release @@ -61,7 +61,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: mssql2019 build_config: Release diff --git a/.github/workflows/dispatched-mysql5-tests.yml b/.github/workflows/dispatched-mysql5-tests.yml index 9cff41d2f..ab75469ea 100644 --- a/.github/workflows/dispatched-mysql5-tests.yml +++ b/.github/workflows/dispatched-mysql5-tests.yml @@ -41,7 +41,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: mysql55 build_config: Release @@ -61,7 +61,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: mysql56 build_config: Release diff --git a/.github/workflows/dispatched-pgsql10-tests.yml b/.github/workflows/dispatched-pgsql10-tests.yml index 60eb7e463..2c336c54c 100644 --- a/.github/workflows/dispatched-pgsql10-tests.yml +++ b/.github/workflows/dispatched-pgsql10-tests.yml @@ -41,7 +41,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: pgsql100 build_config: Release @@ -61,7 +61,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: pgsql110 build_config: Release diff --git a/.github/workflows/dispatched-pgsql9-tests.yml b/.github/workflows/dispatched-pgsql9-tests.yml index 1c97061cc..425b20dc8 100644 --- a/.github/workflows/dispatched-pgsql9-tests.yml +++ b/.github/workflows/dispatched-pgsql9-tests.yml @@ -44,7 +44,7 @@ jobs: #test_on_pgsql90: # name: Tests on PostgreSQL 9.0 # if: ${{ inputs.pgsql90 }} - # uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master + # uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master # with: # storage: pgsql90 # build_config: Release @@ -64,7 +64,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: pgsql91 build_config: Release @@ -84,7 +84,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: pgsql92 build_config: Release @@ -104,7 +104,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: pgsql96 build_config: Release diff --git a/.github/workflows/dispatched-sqlite-tests.yml b/.github/workflows/dispatched-sqlite-tests.yml index 695e1bba7..1074eb303 100644 --- a/.github/workflows/dispatched-sqlite-tests.yml +++ b/.github/workflows/dispatched-sqlite-tests.yml @@ -36,7 +36,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 with: storage: sqlite3 build_config: Release From e7c0337896ed1c96806cf3833f87c0b621cb985e Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 17 Sep 2025 18:07:17 +0500 Subject: [PATCH 03/75] Correct link to reusable workflow --- .github/workflows/dispatched-firebird-tests.yml | 2 +- .github/workflows/dispatched-mssql-tests.yml | 6 +++--- .github/workflows/dispatched-mysql5-tests.yml | 6 +++--- .github/workflows/dispatched-pgsql10-tests.yml | 12 ++++++------ .github/workflows/dispatched-pgsql9-tests.yml | 8 ++++---- .github/workflows/dispatched-sqlite-tests.yml | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/dispatched-firebird-tests.yml b/.github/workflows/dispatched-firebird-tests.yml index fa117c75a..3a6a281a9 100644 --- a/.github/workflows/dispatched-firebird-tests.yml +++ b/.github/workflows/dispatched-firebird-tests.yml @@ -36,7 +36,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: firebird30 build_config: Release diff --git a/.github/workflows/dispatched-mssql-tests.yml b/.github/workflows/dispatched-mssql-tests.yml index 8cbb19bd6..7219b1db1 100644 --- a/.github/workflows/dispatched-mssql-tests.yml +++ b/.github/workflows/dispatched-mssql-tests.yml @@ -46,7 +46,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mssql2017 build_config: Release @@ -66,7 +66,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mssql2019 build_config: Release @@ -86,7 +86,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mssql2022 build_config: Release diff --git a/.github/workflows/dispatched-mysql5-tests.yml b/.github/workflows/dispatched-mysql5-tests.yml index 51aba10cc..c40b80f29 100644 --- a/.github/workflows/dispatched-mysql5-tests.yml +++ b/.github/workflows/dispatched-mysql5-tests.yml @@ -46,7 +46,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mysql55 build_config: Release @@ -66,7 +66,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mysql56 build_config: Release @@ -86,7 +86,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mysql57 build_config: Release diff --git a/.github/workflows/dispatched-pgsql10-tests.yml b/.github/workflows/dispatched-pgsql10-tests.yml index c9b6d1e8b..0affdd408 100644 --- a/.github/workflows/dispatched-pgsql10-tests.yml +++ b/.github/workflows/dispatched-pgsql10-tests.yml @@ -61,7 +61,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql100 build_config: Release @@ -81,7 +81,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql110 build_config: Release @@ -101,7 +101,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql120 build_config: Release @@ -121,7 +121,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql130 build_config: Release @@ -141,7 +141,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql140 build_config: Release @@ -161,7 +161,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql150 build_config: Release diff --git a/.github/workflows/dispatched-pgsql9-tests.yml b/.github/workflows/dispatched-pgsql9-tests.yml index a8af04dea..f010d5a13 100644 --- a/.github/workflows/dispatched-pgsql9-tests.yml +++ b/.github/workflows/dispatched-pgsql9-tests.yml @@ -44,7 +44,7 @@ jobs: #test_on_pgsql90: # name: Tests on PostgreSQL 9.0 # if: ${{ inputs.pgsql90 }} - # uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + # uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 # with: # storage: pgsql90 # build_config: Release @@ -64,7 +64,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql91 build_config: Release @@ -84,7 +84,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql92 build_config: Release @@ -104,7 +104,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql96 build_config: Release diff --git a/.github/workflows/dispatched-sqlite-tests.yml b/.github/workflows/dispatched-sqlite-tests.yml index 82d40daa6..0b6b45578 100644 --- a/.github/workflows/dispatched-sqlite-tests.yml +++ b/.github/workflows/dispatched-sqlite-tests.yml @@ -36,7 +36,7 @@ jobs: strategy: matrix: net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: sqlite3 build_config: Release From 7e7f1446a1dbbe9bcd2fede0225271bd9f3d01da Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 17 Sep 2025 18:08:56 +0500 Subject: [PATCH 04/75] Correct link to reusable workflow --- .github/workflows/dispatched-firebird-tests.yml | 6 +++--- .github/workflows/dispatched-mssql-tests.yml | 6 +++--- .github/workflows/dispatched-mysql5-tests.yml | 6 +++--- .github/workflows/dispatched-mysql8-tests.yml | 10 +++++----- .github/workflows/dispatched-mysql9-tests.yml | 8 ++++---- .github/workflows/dispatched-pgsql10-tests.yml | 16 ++++++++-------- .github/workflows/dispatched-pgsql9-tests.yml | 8 ++++---- .github/workflows/dispatched-sqlite-tests.yml | 2 +- 8 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/workflows/dispatched-firebird-tests.yml b/.github/workflows/dispatched-firebird-tests.yml index 9b2061089..91431fe82 100644 --- a/.github/workflows/dispatched-firebird-tests.yml +++ b/.github/workflows/dispatched-firebird-tests.yml @@ -46,7 +46,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: firebird30 build_config: Release @@ -66,7 +66,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: firebird40 build_config: Release @@ -86,7 +86,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: firebird50 build_config: Release diff --git a/.github/workflows/dispatched-mssql-tests.yml b/.github/workflows/dispatched-mssql-tests.yml index 8e024d5e8..c10d430ae 100644 --- a/.github/workflows/dispatched-mssql-tests.yml +++ b/.github/workflows/dispatched-mssql-tests.yml @@ -46,7 +46,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mssql2017 build_config: Release @@ -66,7 +66,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mssql2019 build_config: Release @@ -86,7 +86,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mssql2022 build_config: Release diff --git a/.github/workflows/dispatched-mysql5-tests.yml b/.github/workflows/dispatched-mysql5-tests.yml index d9c531aad..69989d3b3 100644 --- a/.github/workflows/dispatched-mysql5-tests.yml +++ b/.github/workflows/dispatched-mysql5-tests.yml @@ -46,7 +46,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql55 build_config: Release @@ -66,7 +66,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql56 build_config: Release @@ -86,7 +86,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql57 build_config: Release diff --git a/.github/workflows/dispatched-mysql8-tests.yml b/.github/workflows/dispatched-mysql8-tests.yml index e64bf84b1..e5ab04d93 100644 --- a/.github/workflows/dispatched-mysql8-tests.yml +++ b/.github/workflows/dispatched-mysql8-tests.yml @@ -56,7 +56,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql80 build_config: Release @@ -76,7 +76,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql81 build_config: Release @@ -96,7 +96,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql82 build_config: Release @@ -116,7 +116,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql83 build_config: Release @@ -136,7 +136,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql84 build_config: Release diff --git a/.github/workflows/dispatched-mysql9-tests.yml b/.github/workflows/dispatched-mysql9-tests.yml index b15e7ca63..2b4413866 100644 --- a/.github/workflows/dispatched-mysql9-tests.yml +++ b/.github/workflows/dispatched-mysql9-tests.yml @@ -51,7 +51,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql90 build_config: Release @@ -71,7 +71,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql91 build_config: Release @@ -91,7 +91,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql92 build_config: Release @@ -111,7 +111,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql93 build_config: Release diff --git a/.github/workflows/dispatched-pgsql10-tests.yml b/.github/workflows/dispatched-pgsql10-tests.yml index 1db4e79df..e5b7b6954 100644 --- a/.github/workflows/dispatched-pgsql10-tests.yml +++ b/.github/workflows/dispatched-pgsql10-tests.yml @@ -71,7 +71,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql100 build_config: Release @@ -91,7 +91,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql110 build_config: Release @@ -111,7 +111,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql120 build_config: Release @@ -131,7 +131,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql130 build_config: Release @@ -151,7 +151,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql140 build_config: Release @@ -171,7 +171,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql150 build_config: Release @@ -191,7 +191,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql160 build_config: Release @@ -211,7 +211,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql170 build_config: Release diff --git a/.github/workflows/dispatched-pgsql9-tests.yml b/.github/workflows/dispatched-pgsql9-tests.yml index 659654a99..77c16c55e 100644 --- a/.github/workflows/dispatched-pgsql9-tests.yml +++ b/.github/workflows/dispatched-pgsql9-tests.yml @@ -44,7 +44,7 @@ jobs: #test_on_pgsql90: # name: Tests on PostgreSQL 9.0 # if: ${{ inputs.pgsql90 }} - # uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + # uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 # with: # storage: pgsql90 # build_config: Release @@ -64,7 +64,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql91 build_config: Release @@ -84,7 +84,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql92 build_config: Release @@ -104,7 +104,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql96 build_config: Release diff --git a/.github/workflows/dispatched-sqlite-tests.yml b/.github/workflows/dispatched-sqlite-tests.yml index 89d7850dd..fcebda1fc 100644 --- a/.github/workflows/dispatched-sqlite-tests.yml +++ b/.github/workflows/dispatched-sqlite-tests.yml @@ -36,7 +36,7 @@ jobs: strategy: matrix: net: [ 'net5.0', 'net6.0' ] - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: sqlite3 build_config: Release From 907d84c6917d50ee9ca2432e4db249fe87dabd35 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 11:44:29 +0500 Subject: [PATCH 05/75] Downgrade version of openssl to be compatible with netcoreapp2.0 (hopefully) --- .github/workflows/reusable-storage-dependant-tests.yml | 2 +- .github/workflows/reusable-storage-independant-tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-storage-dependant-tests.yml b/.github/workflows/reusable-storage-dependant-tests.yml index 64543a7a6..a1eb93a6a 100644 --- a/.github/workflows/reusable-storage-dependant-tests.yml +++ b/.github/workflows/reusable-storage-dependant-tests.yml @@ -86,7 +86,7 @@ jobs: - name: Downgrade OpenSSL timeout-minutes: 3 run: | - wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb + wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb - name: Checkout repo diff --git a/.github/workflows/reusable-storage-independant-tests.yml b/.github/workflows/reusable-storage-independant-tests.yml index ec4734ba1..3cef0b490 100644 --- a/.github/workflows/reusable-storage-independant-tests.yml +++ b/.github/workflows/reusable-storage-independant-tests.yml @@ -67,7 +67,7 @@ jobs: - name: Downgrade OpenSSL timeout-minutes: 3 run: | - wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb + wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb - name: Checkout repo From 2c28e07b0bdb45569b7b5864da7e4bb845954426 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 11:47:48 +0500 Subject: [PATCH 06/75] Fix unmatched version of openssl in install command --- .github/workflows/reusable-storage-dependant-tests.yml | 2 +- .github/workflows/reusable-storage-independant-tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-storage-dependant-tests.yml b/.github/workflows/reusable-storage-dependant-tests.yml index a1eb93a6a..c44efc518 100644 --- a/.github/workflows/reusable-storage-dependant-tests.yml +++ b/.github/workflows/reusable-storage-dependant-tests.yml @@ -87,7 +87,7 @@ jobs: timeout-minutes: 3 run: | wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb - sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb + sudo dpkg -i libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb - name: Checkout repo timeout-minutes: 1 diff --git a/.github/workflows/reusable-storage-independant-tests.yml b/.github/workflows/reusable-storage-independant-tests.yml index 3cef0b490..d8077086c 100644 --- a/.github/workflows/reusable-storage-independant-tests.yml +++ b/.github/workflows/reusable-storage-independant-tests.yml @@ -68,7 +68,7 @@ jobs: timeout-minutes: 3 run: | wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb - sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb + sudo dpkg -i libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb - name: Checkout repo timeout-minutes: 1 From 6bdb5a2870e2cc1487adba105274f6a3ca6082c0 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 12:11:53 +0500 Subject: [PATCH 07/75] Try fix error with firebird communication --- Containers/firebird/do-firebird-3_0 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Containers/firebird/do-firebird-3_0 b/Containers/firebird/do-firebird-3_0 index 9e79dbc10..92dd3ce88 100644 --- a/Containers/firebird/do-firebird-3_0 +++ b/Containers/firebird/do-firebird-3_0 @@ -1,5 +1,7 @@ FROM firebirdsql/firebird:3.0.10 +RUN echo "WireCrypt = Enabled" >> /opt/firebird/firebird.cnf + COPY init-firebird-instance.sh /docker-entrypoint-initdb.d/ -RUN chmod +x /docker-entrypoint-initdb.d/init-firebird-instance.sh +RUN chmod +x /docker-entrypoint-initdb.d/init-firebird-instance.sh \ No newline at end of file From c4f5fb8c0595bc1c0349125508e1c740bbac2f60 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 12:17:27 +0500 Subject: [PATCH 08/75] Disable WireCrypt in firebird container --- Containers/firebird/do-firebird-3_0 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containers/firebird/do-firebird-3_0 b/Containers/firebird/do-firebird-3_0 index 92dd3ce88..9954c3a3b 100644 --- a/Containers/firebird/do-firebird-3_0 +++ b/Containers/firebird/do-firebird-3_0 @@ -1,6 +1,6 @@ FROM firebirdsql/firebird:3.0.10 -RUN echo "WireCrypt = Enabled" >> /opt/firebird/firebird.cnf +RUN echo "WireCrypt = Disabled" >> /opt/firebird/firebird.cnf COPY init-firebird-instance.sh /docker-entrypoint-initdb.d/ From fe1137cac478ddd41d9fd954d0c72ce928a27505 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 12:27:11 +0500 Subject: [PATCH 09/75] Firebird container: auth settings changed --- Containers/firebird/do-firebird-3_0 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Containers/firebird/do-firebird-3_0 b/Containers/firebird/do-firebird-3_0 index 9954c3a3b..7050fe850 100644 --- a/Containers/firebird/do-firebird-3_0 +++ b/Containers/firebird/do-firebird-3_0 @@ -1,6 +1,8 @@ FROM firebirdsql/firebird:3.0.10 RUN echo "WireCrypt = Disabled" >> /opt/firebird/firebird.cnf +RUN echo "AuthServer = Srp256, Legacy_Auth" >> /opt/firebird/firebird.cnf +RUN echo "AuthClient = Srp256, Srp, Legacy_Auth" >> /opt/firebird/firebird.cnf COPY init-firebird-instance.sh /docker-entrypoint-initdb.d/ From a171a6eb11152dc3096de952862ac2bb3b7d64cd Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 12:45:27 +0500 Subject: [PATCH 10/75] Fix wrong config writing --- Containers/firebird/do-firebird-3_0 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Containers/firebird/do-firebird-3_0 b/Containers/firebird/do-firebird-3_0 index 7050fe850..6a7919813 100644 --- a/Containers/firebird/do-firebird-3_0 +++ b/Containers/firebird/do-firebird-3_0 @@ -1,8 +1,6 @@ FROM firebirdsql/firebird:3.0.10 -RUN echo "WireCrypt = Disabled" >> /opt/firebird/firebird.cnf -RUN echo "AuthServer = Srp256, Legacy_Auth" >> /opt/firebird/firebird.cnf -RUN echo "AuthClient = Srp256, Srp, Legacy_Auth" >> /opt/firebird/firebird.cnf +RUN echo "WireCrypt = Disabled" >> /opt/firebird/firebird.conf COPY init-firebird-instance.sh /docker-entrypoint-initdb.d/ From 9b36aa4d10aa573295b3e4749a76b84110fc50ae Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 12:57:54 +0500 Subject: [PATCH 11/75] Try use WireEncrypt enabled --- Containers/firebird/do-firebird-3_0 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Containers/firebird/do-firebird-3_0 b/Containers/firebird/do-firebird-3_0 index 6a7919813..d19b7f40e 100644 --- a/Containers/firebird/do-firebird-3_0 +++ b/Containers/firebird/do-firebird-3_0 @@ -1,6 +1,8 @@ FROM firebirdsql/firebird:3.0.10 -RUN echo "WireCrypt = Disabled" >> /opt/firebird/firebird.conf +RUN echo "WireCrypt = Enabled" >> /opt/firebird/firebird.conf +RUN echo "AuthServer = Srp256, Legacy_Auth" >> /opt/firebird/firebird.conf +RUN echo "AuthClient = Srp256, Srp, Legacy_Auth" >> /opt/firebird/firebird.conf COPY init-firebird-instance.sh /docker-entrypoint-initdb.d/ From 6a5995bd28f0c26437dcf4d02a2b17a0927bb141 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 13:21:05 +0500 Subject: [PATCH 12/75] Revert WireCrypt to disabled --- Containers/firebird/do-firebird-3_0 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Containers/firebird/do-firebird-3_0 b/Containers/firebird/do-firebird-3_0 index d19b7f40e..6a7919813 100644 --- a/Containers/firebird/do-firebird-3_0 +++ b/Containers/firebird/do-firebird-3_0 @@ -1,8 +1,6 @@ FROM firebirdsql/firebird:3.0.10 -RUN echo "WireCrypt = Enabled" >> /opt/firebird/firebird.conf -RUN echo "AuthServer = Srp256, Legacy_Auth" >> /opt/firebird/firebird.conf -RUN echo "AuthClient = Srp256, Srp, Legacy_Auth" >> /opt/firebird/firebird.conf +RUN echo "WireCrypt = Disabled" >> /opt/firebird/firebird.conf COPY init-firebird-instance.sh /docker-entrypoint-initdb.d/ From d16f88d687ae12b66c750d251889ef2fd34b6d1d Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 15:41:34 +0500 Subject: [PATCH 13/75] Downgrade openssl to fix error --- .github/workflows/reusable-storage-dependant-tests.yml | 4 ++-- .github/workflows/reusable-storage-independant-tests.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/reusable-storage-dependant-tests.yml b/.github/workflows/reusable-storage-dependant-tests.yml index 64543a7a6..c44efc518 100644 --- a/.github/workflows/reusable-storage-dependant-tests.yml +++ b/.github/workflows/reusable-storage-dependant-tests.yml @@ -86,8 +86,8 @@ jobs: - name: Downgrade OpenSSL timeout-minutes: 3 run: | - wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb - sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb + wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb + sudo dpkg -i libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb - name: Checkout repo timeout-minutes: 1 diff --git a/.github/workflows/reusable-storage-independant-tests.yml b/.github/workflows/reusable-storage-independant-tests.yml index ec4734ba1..d8077086c 100644 --- a/.github/workflows/reusable-storage-independant-tests.yml +++ b/.github/workflows/reusable-storage-independant-tests.yml @@ -67,8 +67,8 @@ jobs: - name: Downgrade OpenSSL timeout-minutes: 3 run: | - wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb - sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb + wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb + sudo dpkg -i libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb - name: Checkout repo timeout-minutes: 1 From ac78924b66c37fbf09ac2623c2fa3a12c261a6b0 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 1 Oct 2025 16:38:15 +0500 Subject: [PATCH 14/75] Chinook model: Dropping created view --- Orm/Xtensive.Orm.Tests.Sql/Sqlite/ChinookSchemaCreator.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Orm/Xtensive.Orm.Tests.Sql/Sqlite/ChinookSchemaCreator.cs b/Orm/Xtensive.Orm.Tests.Sql/Sqlite/ChinookSchemaCreator.cs index 13e68b10b..095001b7e 100644 --- a/Orm/Xtensive.Orm.Tests.Sql/Sqlite/ChinookSchemaCreator.cs +++ b/Orm/Xtensive.Orm.Tests.Sql/Sqlite/ChinookSchemaCreator.cs @@ -1,4 +1,4 @@ -// Copyright (C) 2019 Xtensive LLC. +// Copyright (C) 2019 Xtensive LLC. // All rights reserved. // For conditions of distribution and use, see license. // Created by: Alexey Kulakov @@ -28,6 +28,7 @@ private class XmlTable public void DropSchemaContent(SqlConnection connection, Schema defaultSchema) { + DropViews(connection, defaultSchema); DropTables(connection, defaultSchema); } From d47492f4194ce1f07aed5bfa4652f79014550093 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 2 Oct 2025 11:47:46 +0500 Subject: [PATCH 15/75] Enable publishing raw results for some test runs --- .github/workflows/dispatched-mysql5-tests.yml | 2 +- .github/workflows/dispatched-pgsql9-tests.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dispatched-mysql5-tests.yml b/.github/workflows/dispatched-mysql5-tests.yml index ab75469ea..36793abb1 100644 --- a/.github/workflows/dispatched-mysql5-tests.yml +++ b/.github/workflows/dispatched-mysql5-tests.yml @@ -53,7 +53,7 @@ jobs: run_main: true run_sql: true run_extensions: true - publish_raw_results: false + publish_raw_results: true test_on_mysql56: name: Tests on MySQL 5.6 diff --git a/.github/workflows/dispatched-pgsql9-tests.yml b/.github/workflows/dispatched-pgsql9-tests.yml index 425b20dc8..2abcc703e 100644 --- a/.github/workflows/dispatched-pgsql9-tests.yml +++ b/.github/workflows/dispatched-pgsql9-tests.yml @@ -76,7 +76,7 @@ jobs: run_main: true run_sql: true run_extensions: true - publish_raw_results: false + publish_raw_results: true test_on_pgsql92: name: Tests on PostgreSQL 9.2 @@ -96,7 +96,7 @@ jobs: run_main: true run_sql: true run_extensions: true - publish_raw_results: false + publish_raw_results: true test_on_pgsql96: name: Tests on PostgreSQL 9.6 @@ -116,4 +116,4 @@ jobs: run_main: true run_sql: true run_extensions: true - publish_raw_results: false + publish_raw_results: true From d383efde60793ed52aaff6b552c0a362bd60133d Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 2 Oct 2025 15:16:28 +0500 Subject: [PATCH 16/75] No multiple access to virtual member --- .../Sql/Compiler/SqlTranslator.cs | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs index ad2ae005e..9d410d9f8 100644 --- a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs +++ b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs @@ -267,22 +267,6 @@ public virtual string Translate(SqlCompilerContext context, SqlArray node, Array } } -// Type itemType = node.ItemType; -// object[] values = node.GetValues(); -// int count = values.Length; -// if (count==0) -// return "(NULL)"; -// var buffer = new string[count]; -// for (int index = 0; index < count; index++) -// buffer[index] = Translate(context, (SqlLiteral) SqlDml.Literal(values[index], itemType)); -// if (count==1) -// return "(" + buffer[0] + ")"; -// -// buffer[0] = "(" + buffer[0]; -// buffer[count - 1] += ")"; -// return String.Join(RowItemDelimiter, buffer); -// } - public virtual string Translate(SqlCompilerContext context, SqlAssignment node, NodeSection section) { switch (section) { @@ -1825,8 +1809,9 @@ public virtual string BuildBatch(string[] statements) { if (statements.Length==0) return string.Empty; + var statementEndingLength = BatchItemDelimiter.Length + NewLine.Length; var expectedLength = BatchBegin.Length + BatchEnd.Length + - statements.Sum(statement => statement.Length + BatchItemDelimiter.Length + NewLine.Length); + statements.Sum(statement => statement.Length + statementEndingLength); var builder = new StringBuilder(expectedLength); builder.Append(BatchBegin); foreach (var statement in statements) { From 2d5066bb17f2f88c2de5da8799b6bcd8d8feb6fc Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 2 Oct 2025 15:17:03 +0500 Subject: [PATCH 17/75] Fix path to sakila data file for linux runtimes --- Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs b/Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs index 5a48b4547..3f4ecef0d 100644 --- a/Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs +++ b/Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs @@ -22,7 +22,7 @@ namespace Xtensive.Orm.Tests.Sql.MySQL public abstract class Sakila { private readonly string sakilaDataBackupPath = Path.Combine( - Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"MySQL\SakilaDb\sakila-data.sql"); + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"MySQL/SakilaDb/sakila-data.sql"); protected ConnectionInfo ConnectionInfo = TestConnectionInfoProvider.GetConnectionInfo(); protected SqlDriver SqlDriver; From d20fd6f226e3512251848fbeb08fce82d51ba0c0 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 2 Oct 2025 15:57:59 +0500 Subject: [PATCH 18/75] Fix path to sakila data file for linux runtimes --- Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs b/Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs index 250f67547..d3c0cccf1 100644 --- a/Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs +++ b/Orm/Xtensive.Orm.Tests.Sql/MySQL/Sakila.cs @@ -22,7 +22,7 @@ namespace Xtensive.Orm.Tests.Sql.MySQL public abstract class Sakila { private readonly string sakilaDataBackupPath = Path.Combine( - Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"MySQL\SakilaDb\sakila-data.sql"); + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"MySQL/SakilaDb/sakila-data.sql"); protected ConnectionInfo ConnectionInfo = TestConnectionInfoProvider.GetConnectionInfo(); protected SqlDriver SqlDriver; From 73a43bb4ebd4cdc2629afd8004ec417696825b7a Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 2 Oct 2025 18:23:57 +0500 Subject: [PATCH 19/75] Try set exact version of .net for netcoreapp2.0 --- .github/actions/setup-dotnets/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-dotnets/action.yml b/.github/actions/setup-dotnets/action.yml index 442005972..7878d1bae 100644 --- a/.github/actions/setup-dotnets/action.yml +++ b/.github/actions/setup-dotnets/action.yml @@ -51,4 +51,4 @@ runs: if: ${{ contains(inputs.target_framework, '2.0') }} uses: actions/setup-dotnet@v4 with: - dotnet-version: '2.0.x' + dotnet-version: '2.1.403' From 5ad5bc727a7f311f9053b93f4f016bf3a1087407 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Fri, 3 Oct 2025 13:22:08 +0500 Subject: [PATCH 20/75] Try use NET 5 SDK for netcoreapp2.0 --- .github/actions/setup-dotnets/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-dotnets/action.yml b/.github/actions/setup-dotnets/action.yml index 7878d1bae..77fa3825f 100644 --- a/.github/actions/setup-dotnets/action.yml +++ b/.github/actions/setup-dotnets/action.yml @@ -51,4 +51,4 @@ runs: if: ${{ contains(inputs.target_framework, '2.0') }} uses: actions/setup-dotnet@v4 with: - dotnet-version: '2.1.403' + dotnet-version: '5.0.x' From 403b8b47973f590734291d8f2c76ac98378e23c8 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Fri, 3 Oct 2025 13:29:46 +0500 Subject: [PATCH 21/75] Try use Net Core 3.1 SDK for netcoreapp2.0 --- .github/actions/setup-dotnets/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-dotnets/action.yml b/.github/actions/setup-dotnets/action.yml index 77fa3825f..76ac1fc81 100644 --- a/.github/actions/setup-dotnets/action.yml +++ b/.github/actions/setup-dotnets/action.yml @@ -51,4 +51,4 @@ runs: if: ${{ contains(inputs.target_framework, '2.0') }} uses: actions/setup-dotnet@v4 with: - dotnet-version: '5.0.x' + dotnet-version: '3.1.402' From 250163c1eecd7c3fa88e4625cc691415b623e583 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Fri, 3 Oct 2025 13:52:45 +0500 Subject: [PATCH 22/75] Revert change of setup version for netcoreapp2.0 + set exact version of netcoreapp3.1 --- .github/actions/setup-dotnets/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/setup-dotnets/action.yml b/.github/actions/setup-dotnets/action.yml index 76ac1fc81..f2b6924f7 100644 --- a/.github/actions/setup-dotnets/action.yml +++ b/.github/actions/setup-dotnets/action.yml @@ -45,10 +45,10 @@ runs: if: ${{ contains(inputs.target_framework, '3.1') }} uses: actions/setup-dotnet@v4 with: - dotnet-version: '3.1.x' + dotnet-version: '3.1.402' - name: Setup .NET Core 2.0 (if needed) if: ${{ contains(inputs.target_framework, '2.0') }} uses: actions/setup-dotnet@v4 with: - dotnet-version: '3.1.402' + dotnet-version: '2.1.403' From 2fcf88e7beb4e0f178aa06b146957131d0a512c0 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Fri, 3 Oct 2025 17:09:56 +0500 Subject: [PATCH 23/75] Add dedicated test for double statement delimiter --- ...qlStrangeDoubleSemicolumnInCommandIssue.cs | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Orm/Xtensive.Orm.Tests/Issues/MysqlStrangeDoubleSemicolumnInCommandIssue.cs diff --git a/Orm/Xtensive.Orm.Tests/Issues/MysqlStrangeDoubleSemicolumnInCommandIssue.cs b/Orm/Xtensive.Orm.Tests/Issues/MysqlStrangeDoubleSemicolumnInCommandIssue.cs new file mode 100644 index 000000000..885fcaa82 --- /dev/null +++ b/Orm/Xtensive.Orm.Tests/Issues/MysqlStrangeDoubleSemicolumnInCommandIssue.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using NUnit.Framework; +using Xtensive.Orm.Configuration; +using Xtensive.Orm.Model; +using Xtensive.Orm.Tests.Issues.MysqlStrangeDoubleSemicolumnInCommandIssueModel; + +namespace Xtensive.Orm.Tests.Issues.MysqlStrangeDoubleSemicolumnInCommandIssueModel +{ + [HierarchyRoot(InheritanceSchema.ClassTable)] + public class Product : Entity + { + [Field, Key] + public long Id { get; set; } + + [Field] + public string Name { get; set; } + + [Field] + public DateTime CreationDate { get; set; } + + [Field] + public Guid UIndentifier { get; set; } + + public Product(Session session) + : base(session) + { + } + } + + public class DerivedProduct : Product + { + [Field] + public TimeSpan TimeSpan { get; set; } + + public DerivedProduct(Session session) + : base(session) + { + } + } +} + +namespace Xtensive.Orm.Tests.Issues +{ + public sealed class MysqlStrangeDoubleSemicolumnInCommandIssue : AutoBuildTest + { + protected override void CheckRequirements() => Require.ProviderIs(StorageProvider.MySql); + + protected override DomainConfiguration BuildConfiguration() + { + var config = base.BuildConfiguration(); + config.Types.Register(typeof(Product)); + config.Types.Register(typeof(DerivedProduct)); + config.UpgradeMode = DomainUpgradeMode.Recreate; + + return config; + } + + [Test] + public void BatchingTest() + { + using (var session = Domain.OpenSession()) { + session.Events.DbCommandExecuting += BatchingHandler; + using (var transaction = session.OpenTransaction()) { + var product = new Product(session) { + Name = "BatchingTestProduct", + CreationDate = DateTime.UtcNow, + UIndentifier = Guid.NewGuid(), + }; + + var dProduct = new DerivedProduct(session) { + Name = "BatchingTestDerivedProduct", + CreationDate = DateTime.UtcNow, + UIndentifier = Guid.NewGuid(), + TimeSpan = TimeSpan.FromDays(3) + }; + session.SaveChanges(); // split persist and transaction commit + transaction.Complete(); + } + session.Events.DbCommandExecuting -= BatchingHandler; + + using (var transaction = session.OpenTransaction()) { + var allProducts = session.Query.All().ToList(); + Assert.That(allProducts.Count, Is.EqualTo(2)); + + var derivedProducts = session.Query.All().ToList(); + Assert.That(derivedProducts.Count, Is.EqualTo(1)); + } + } + } + + private void BatchingHandler(object sender, DbCommandEventArgs e) + { + var commandText = e.Command.CommandText; + if (commandText.Contains("INSERT")) { + var firstInsertIdx = commandText.IndexOf("INSERT", StringComparison.OrdinalIgnoreCase); + var lastInsertIdx = commandText.LastIndexOf("INSERT", StringComparison.OrdinalIgnoreCase); + if (firstInsertIdx == lastInsertIdx) { + throw new Exception("No batching happened"); + } + Assert.That(commandText.Contains(";;"), Is.False, $"Command = {commandText}"); + } + } + } +} From 2628b5e789590a4b5ad2cce1223ecc31b4abd114 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Fri, 3 Oct 2025 17:29:10 +0500 Subject: [PATCH 24/75] No new line after batch item for MySQL --- .../Sql.Drivers.MySql/v5_0/Translator.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs b/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs index 49362f9fa..2b11a6d50 100644 --- a/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs +++ b/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs @@ -35,10 +35,10 @@ public override string DdlStatementDelimiter get { return ";"; } } - public override string BatchItemDelimiter - { - get { return ";\r\n"; } - } + //public override string BatchItemDelimiter + //{ + // get { return ";\r\n"; } + //} public override void Initialize() { From 104ba5c8911dd1f382a441a96247e86629b6ef64 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Sat, 4 Oct 2025 13:21:46 +0500 Subject: [PATCH 25/75] Add temp log messages --- Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs | 10 ++++++ .../Sql/Compiler/SqlTranslator.cs | 34 +++++++++++++++---- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs b/Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs index 10046919e..fda27d043 100644 --- a/Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs +++ b/Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs @@ -226,10 +226,15 @@ public virtual void Visit(SqlBatch node) } context.Output.AppendText(translator.BatchBegin); using (context.EnterCollectionScope()) { + Console.WriteLine("Visit(SqlBatch node) Begin"); foreach (var item in statements) { + Console.WriteLine("Visit(SqlBatch node) ITERATION Begin"); item.AcceptVisitor(this); + Console.WriteLine("Add BatchItemDelimiter in iteration of statements in Visit(SqlBatch node)"); context.Output.AppendDelimiter(translator.BatchItemDelimiter, SqlDelimiterType.Column); + Console.WriteLine("Visit(SqlBatch node) ITERATION End"); } + Console.WriteLine("Visit(SqlBatch node) End"); } context.Output.AppendText(translator.BatchEnd); } @@ -1327,10 +1332,15 @@ public virtual void Visit(SqlStatementBlock node) using (context.EnterScope(node)) { context.Output.AppendText(translator.Translate(context, node, NodeSection.Entry)); using (context.EnterCollectionScope()) { + Console.WriteLine("Visit(SqlStatementBlock node) Begin"); foreach (SqlStatement item in node) { + Console.WriteLine("Visit(SqlStatementBlock node) ITERATION Begin"); item.AcceptVisitor(this); + Console.WriteLine("Add BatchItemDelimiter in iteration of statements in Visit(SqlStatementBlock node)"); context.Output.AppendDelimiter(translator.BatchItemDelimiter, SqlDelimiterType.Column); + Console.WriteLine("Visit(SqlStatementBlock node) ITERATION End"); } + Console.WriteLine("Visit(SqlStatementBlock node) End"); } context.Output.AppendText(translator.Translate(context, node, NodeSection.Exit)); } diff --git a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs index 9d410d9f8..5f61dbdf7 100644 --- a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs +++ b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs @@ -1813,22 +1813,42 @@ public virtual string BuildBatch(string[] statements) var expectedLength = BatchBegin.Length + BatchEnd.Length + statements.Sum(statement => statement.Length + statementEndingLength); var builder = new StringBuilder(expectedLength); + Console.WriteLine("BuildBatch(string[] statements) Begin"); builder.Append(BatchBegin); foreach (var statement in statements) { - var actualStatement = statement - .TryCutPrefix(BatchBegin) - .TryCutSuffix(BatchEnd) - .TryCutSuffix(NewLine) - .TryCutSuffix(BatchItemDelimiter) - .Trim(); + Console.WriteLine("BuildBatch(string[] statements) ITERATION Begin"); + Console.WriteLine($"Raw statement {statement}"); + var noBatchBeginStatement = statement.TryCutPrefix(BatchBegin); + Console.WriteLine($"No BatchBegin statement {noBatchBeginStatement}"); + var noBatchEndStatement = noBatchBeginStatement.TryCutSuffix(BatchEnd); + Console.WriteLine($"No BatchEnd statement {noBatchEndStatement}"); + var noNewLineStatement = noBatchEndStatement.TryCutSuffix(NewLine); + Console.WriteLine($"No NewLine statement {noNewLineStatement}"); + var noBatchDeliminterStatement = noNewLineStatement.TryCutSuffix(BatchItemDelimiter); + Console.WriteLine($"No BatchDelimiter statement {noBatchDeliminterStatement}"); + var actualStatement = noBatchDeliminterStatement.Trim(); + //var actualStatement = statement + // .TryCutPrefix(BatchBegin) + // .TryCutSuffix(BatchEnd) + // .TryCutSuffix(NewLine) + // .TryCutSuffix(BatchItemDelimiter) + // .Trim(); if (actualStatement.Length==0) continue; builder.Append(actualStatement); + Console.WriteLine("Add BatchItemDelimiter in iteration of statements in BuildBatch(string[] statements)"); builder.Append(BatchItemDelimiter); builder.Append(NewLine); + + Console.WriteLine("BuildBatch(string[] statements) ITERATION End"); } builder.Append(BatchEnd); - return builder.ToString(); + //return builder.ToString(); + var result = builder.ToString(); + + Console.WriteLine(); + Console.WriteLine("BuildBatch(string[] statements) End"); + return result; } public virtual string TranslateSortOrder(bool ascending) From 77f27b98e2779f59960b52471d228c35423702ba Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Sat, 4 Oct 2025 14:26:00 +0500 Subject: [PATCH 26/75] Use Environment.NewLine as NewLine in translator --- Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs b/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs index 2b11a6d50..e7cf65860 100644 --- a/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs +++ b/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs @@ -35,6 +35,8 @@ public override string DdlStatementDelimiter get { return ";"; } } + public override string NewLine => Environment.NewLine; + //public override string BatchItemDelimiter //{ // get { return ";\r\n"; } From 68014a693cc6db104295780993c1cae2eb414845 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Sat, 4 Oct 2025 15:20:33 +0500 Subject: [PATCH 27/75] No hard-coded windows-style new line symbols --- Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs | 7 ++++--- Orm/Xtensive.Orm/Orm/Operation.cs | 4 ++-- Orm/Xtensive.Orm/Orm/OperationLog.cs | 3 ++- Orm/Xtensive.Orm/Orm/Operations/KeySetOperation.cs | 2 +- Orm/Xtensive.Orm/Orm/Upgrade/SchemaComparisonResult.cs | 3 ++- Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs | 2 +- 6 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs b/Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs index 00b943ef5..fd4dc3c6d 100644 --- a/Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs +++ b/Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs @@ -60,11 +60,12 @@ public List GetFlatExceptions() public override string ToString() { StringBuilder sb = new StringBuilder(64); - sb.Append(base.ToString()); - sb.AppendFormat("\r\n{0}:", Strings.OriginalExceptions); + sb.Append(base.ToString()) + .AppendLine() + .AppendFormat("{0}:", Strings.OriginalExceptions); int i = 1; foreach (Exception exception in exceptions) - sb.AppendFormat("\r\n{0}: {1}", i++, exception); + sb.AppendLine().AppendFormat("\r\n{0}: {1}", i++, exception); return sb.ToString(); } diff --git a/Orm/Xtensive.Orm/Orm/Operation.cs b/Orm/Xtensive.Orm/Orm/Operation.cs index 757653771..c299edc7d 100644 --- a/Orm/Xtensive.Orm/Orm/Operation.cs +++ b/Orm/Xtensive.Orm/Orm/Operation.cs @@ -139,7 +139,7 @@ public override string ToString() private string FormatIdentifiedEntities() { // Shouldn't be moved to resources - return " Identified entities:\r\n" + ( + return " Identified entities:" + Environment.NewLine + ( from pair in IdentifiedEntities orderby pair.Key select string.Format(" {0}: {1}", pair.Key, pair.Value) @@ -150,7 +150,7 @@ select string.Format(" {0}: {1}", pair.Key, pair.Value) private string FormatOperations(string title, IEnumerable operations) { // Shouldn't be moved to resources - return string.Format(" {0}:\r\n", title) + + return string.Format(" {0}:", title) + Environment.NewLine + operations.ToDelimitedString(Environment.NewLine).ToString().Indent(4); } diff --git a/Orm/Xtensive.Orm/Orm/OperationLog.cs b/Orm/Xtensive.Orm/Orm/OperationLog.cs index d1d3104ad..ec0266fa4 100644 --- a/Orm/Xtensive.Orm/Orm/OperationLog.cs +++ b/Orm/Xtensive.Orm/Orm/OperationLog.cs @@ -111,7 +111,8 @@ public object Replay(object target) /// public override string ToString() { - var sb = new StringBuilder(string.Format("{0}:\r\n", Strings.Operations)); + var sb = new StringBuilder(string.Format("{0}:", Strings.Operations)); + _ = sb.AppendLine(); foreach (var o in operations) sb.AppendLine(o.ToString().Indent(2)); return sb.ToString().Trim(); diff --git a/Orm/Xtensive.Orm/Orm/Operations/KeySetOperation.cs b/Orm/Xtensive.Orm/Orm/Operations/KeySetOperation.cs index 6ba814111..56b600d77 100644 --- a/Orm/Xtensive.Orm/Orm/Operations/KeySetOperation.cs +++ b/Orm/Xtensive.Orm/Orm/Operations/KeySetOperation.cs @@ -28,7 +28,7 @@ public abstract class KeySetOperation : Operation, public override string Description { get { - return string.Format("{0}:\r\n{1}", Title, Keys.ToDelimitedString("\r\n").Indent(2)); + return $"{Title}:{Environment.NewLine}{Keys.ToDelimitedString(Environment.NewLine).Indent(2)}"; } } diff --git a/Orm/Xtensive.Orm/Orm/Upgrade/SchemaComparisonResult.cs b/Orm/Xtensive.Orm/Orm/Upgrade/SchemaComparisonResult.cs index c39e01056..994aa4650 100644 --- a/Orm/Xtensive.Orm/Orm/Upgrade/SchemaComparisonResult.cs +++ b/Orm/Xtensive.Orm/Orm/Upgrade/SchemaComparisonResult.cs @@ -12,6 +12,7 @@ using Xtensive.Modelling.Comparison; using Xtensive.Modelling.Comparison.Hints; using System.Linq; +using System; namespace Xtensive.Orm.Upgrade { @@ -72,7 +73,7 @@ public override string ToString() HasUnsafeActions.ToString().ToLower(), HasColumnTypeChanges.ToString().ToLower(), IsCompatibleInLegacyMode.HasValue ? IsCompatibleInLegacyMode.Value.ToString() : Strings.Unknown, - UnsafeActions.Any() ? UnsafeActions.ToDelimitedString("\r\n").Indent(2) : string.Empty, + UnsafeActions.Any() ? UnsafeActions.ToDelimitedString(Environment.NewLine).Indent(2) : string.Empty, Hints!=null ? Hints.ToString().Indent(2) : string.Empty, Difference!=null ? Difference.ToString().Indent(2) : string.Empty); } diff --git a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs index 5f61dbdf7..6fc91d037 100644 --- a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs +++ b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs @@ -25,7 +25,7 @@ public abstract class SqlTranslator : SqlDriverBound public NumberFormatInfo FloatNumberFormat { get; private set; } public NumberFormatInfo DoubleNumberFormat { get; private set; } - public virtual string NewLine { get { return "\r\n"; } } + public virtual string NewLine { get { return Environment.NewLine; } } public virtual string OpeningParenthesis { get { return "("; } } public virtual string ClosingParenthesis { get { return ")"; } } From ec2df5f35ba721c9e7d3ecf3e33be1b5786a237c Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Sat, 4 Oct 2025 15:24:57 +0500 Subject: [PATCH 28/75] Remove temporary logs placed before --- Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs | 10 ------ .../Sql/Compiler/SqlTranslator.cs | 34 ++++--------------- 2 files changed, 7 insertions(+), 37 deletions(-) diff --git a/Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs b/Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs index fda27d043..10046919e 100644 --- a/Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs +++ b/Orm/Xtensive.Orm/Sql/Compiler/SqlCompiler.cs @@ -226,15 +226,10 @@ public virtual void Visit(SqlBatch node) } context.Output.AppendText(translator.BatchBegin); using (context.EnterCollectionScope()) { - Console.WriteLine("Visit(SqlBatch node) Begin"); foreach (var item in statements) { - Console.WriteLine("Visit(SqlBatch node) ITERATION Begin"); item.AcceptVisitor(this); - Console.WriteLine("Add BatchItemDelimiter in iteration of statements in Visit(SqlBatch node)"); context.Output.AppendDelimiter(translator.BatchItemDelimiter, SqlDelimiterType.Column); - Console.WriteLine("Visit(SqlBatch node) ITERATION End"); } - Console.WriteLine("Visit(SqlBatch node) End"); } context.Output.AppendText(translator.BatchEnd); } @@ -1332,15 +1327,10 @@ public virtual void Visit(SqlStatementBlock node) using (context.EnterScope(node)) { context.Output.AppendText(translator.Translate(context, node, NodeSection.Entry)); using (context.EnterCollectionScope()) { - Console.WriteLine("Visit(SqlStatementBlock node) Begin"); foreach (SqlStatement item in node) { - Console.WriteLine("Visit(SqlStatementBlock node) ITERATION Begin"); item.AcceptVisitor(this); - Console.WriteLine("Add BatchItemDelimiter in iteration of statements in Visit(SqlStatementBlock node)"); context.Output.AppendDelimiter(translator.BatchItemDelimiter, SqlDelimiterType.Column); - Console.WriteLine("Visit(SqlStatementBlock node) ITERATION End"); } - Console.WriteLine("Visit(SqlStatementBlock node) End"); } context.Output.AppendText(translator.Translate(context, node, NodeSection.Exit)); } diff --git a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs index 6fc91d037..205359db6 100644 --- a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs +++ b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs @@ -1813,42 +1813,22 @@ public virtual string BuildBatch(string[] statements) var expectedLength = BatchBegin.Length + BatchEnd.Length + statements.Sum(statement => statement.Length + statementEndingLength); var builder = new StringBuilder(expectedLength); - Console.WriteLine("BuildBatch(string[] statements) Begin"); builder.Append(BatchBegin); foreach (var statement in statements) { - Console.WriteLine("BuildBatch(string[] statements) ITERATION Begin"); - Console.WriteLine($"Raw statement {statement}"); - var noBatchBeginStatement = statement.TryCutPrefix(BatchBegin); - Console.WriteLine($"No BatchBegin statement {noBatchBeginStatement}"); - var noBatchEndStatement = noBatchBeginStatement.TryCutSuffix(BatchEnd); - Console.WriteLine($"No BatchEnd statement {noBatchEndStatement}"); - var noNewLineStatement = noBatchEndStatement.TryCutSuffix(NewLine); - Console.WriteLine($"No NewLine statement {noNewLineStatement}"); - var noBatchDeliminterStatement = noNewLineStatement.TryCutSuffix(BatchItemDelimiter); - Console.WriteLine($"No BatchDelimiter statement {noBatchDeliminterStatement}"); - var actualStatement = noBatchDeliminterStatement.Trim(); - //var actualStatement = statement - // .TryCutPrefix(BatchBegin) - // .TryCutSuffix(BatchEnd) - // .TryCutSuffix(NewLine) - // .TryCutSuffix(BatchItemDelimiter) - // .Trim(); + var actualStatement = statement + .TryCutPrefix(BatchBegin) + .TryCutSuffix(BatchEnd) + .TryCutSuffix(NewLine) + .TryCutSuffix(BatchItemDelimiter) + .Trim(); if (actualStatement.Length==0) continue; builder.Append(actualStatement); - Console.WriteLine("Add BatchItemDelimiter in iteration of statements in BuildBatch(string[] statements)"); builder.Append(BatchItemDelimiter); builder.Append(NewLine); - - Console.WriteLine("BuildBatch(string[] statements) ITERATION End"); } builder.Append(BatchEnd); - //return builder.ToString(); - var result = builder.ToString(); - - Console.WriteLine(); - Console.WriteLine("BuildBatch(string[] statements) End"); - return result; + return builder.ToString(); } public virtual string TranslateSortOrder(bool ascending) From 32b570735b5f62f78bd383a97efc775bf8452735 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Sat, 4 Oct 2025 15:25:59 +0500 Subject: [PATCH 29/75] Slight improvements of SqlTranslator.BuildBatch() --- .../Sql/Compiler/SqlTranslator.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs index 205359db6..eee0db45d 100644 --- a/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs +++ b/Orm/Xtensive.Orm/Sql/Compiler/SqlTranslator.cs @@ -1807,13 +1807,14 @@ public virtual string QuoteIdentifier(params string[] names) /// String containing the whole batch. public virtual string BuildBatch(string[] statements) { - if (statements.Length==0) + if (statements.Length == 0) { return string.Empty; - var statementEndingLength = BatchItemDelimiter.Length + NewLine.Length; - var expectedLength = BatchBegin.Length + BatchEnd.Length + - statements.Sum(statement => statement.Length + statementEndingLength); + } + var expectedLength = BatchBegin.Length + BatchEnd.Length + + ((BatchItemDelimiter.Length + NewLine.Length) * statements.Length) + + statements.Sum(statement => statement.Length); var builder = new StringBuilder(expectedLength); - builder.Append(BatchBegin); + _ = builder.Append(BatchBegin); foreach (var statement in statements) { var actualStatement = statement .TryCutPrefix(BatchBegin) @@ -1823,11 +1824,11 @@ public virtual string BuildBatch(string[] statements) .Trim(); if (actualStatement.Length==0) continue; - builder.Append(actualStatement); - builder.Append(BatchItemDelimiter); - builder.Append(NewLine); + _ = builder.Append(actualStatement) + .Append(BatchItemDelimiter) + .Append(NewLine); } - builder.Append(BatchEnd); + _ = builder.Append(BatchEnd); return builder.ToString(); } From e6cd64d5276cfac27ca13782280059a7042511d7 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Mon, 6 Oct 2025 11:15:02 +0500 Subject: [PATCH 30/75] No hard-coded windows-style new line symbols --- Extensions/Xtensive.Orm.Reprocessing/DomainBuilder.cs | 4 ++-- Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Extensions/Xtensive.Orm.Reprocessing/DomainBuilder.cs b/Extensions/Xtensive.Orm.Reprocessing/DomainBuilder.cs index db59efe07..68023fc05 100644 --- a/Extensions/Xtensive.Orm.Reprocessing/DomainBuilder.cs +++ b/Extensions/Xtensive.Orm.Reprocessing/DomainBuilder.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Reflection; using Xtensive.Orm.Configuration; @@ -27,7 +27,7 @@ public virtual Domain Build(DomainConfiguration config) var ex = e.InnerException as ReflectionTypeLoadException; if (ex != null) throw new InvalidOperationException( - string.Join("\r\n", ex.LoaderExceptions.Select(a => a.Message)), ex); + string.Join(Environment.NewLine, ex.LoaderExceptions.Select(a => a.Message)), ex); throw; } } diff --git a/Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs b/Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs index fd4dc3c6d..99b9e7f58 100644 --- a/Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs +++ b/Orm/Xtensive.Orm/Core/Exceptions/AggregateException.cs @@ -60,12 +60,12 @@ public List GetFlatExceptions() public override string ToString() { StringBuilder sb = new StringBuilder(64); - sb.Append(base.ToString()) + _ = sb.Append(base.ToString()) .AppendLine() .AppendFormat("{0}:", Strings.OriginalExceptions); int i = 1; foreach (Exception exception in exceptions) - sb.AppendLine().AppendFormat("\r\n{0}: {1}", i++, exception); + sb.AppendLine().AppendFormat("{0}: {1}", i++, exception); return sb.ToString(); } From e8f67a80ba86fa8a6cacee478fb983842ecfae85 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Mon, 6 Oct 2025 11:16:30 +0500 Subject: [PATCH 31/75] Apply standard BatchItemDelimiter no additional Windows-style new line at the end of delimiter --- .../Sql.Drivers.MySql/v5_0/Translator.cs | 5 ----- .../Sql.Drivers.PostgreSql/v8_0/Translator.cs | 2 +- .../Sql.Drivers.Sqlite/v3/Translator.cs | 10 +++++----- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs b/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs index e7cf65860..57e5ceb0f 100644 --- a/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs +++ b/Orm/Xtensive.Orm.MySql/Sql.Drivers.MySql/v5_0/Translator.cs @@ -37,11 +37,6 @@ public override string DdlStatementDelimiter public override string NewLine => Environment.NewLine; - //public override string BatchItemDelimiter - //{ - // get { return ";\r\n"; } - //} - public override void Initialize() { base.Initialize(); diff --git a/Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Translator.cs b/Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Translator.cs index e0e9956bc..111db1f11 100644 --- a/Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Translator.cs +++ b/Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Translator.cs @@ -43,7 +43,7 @@ public override void Initialize() } public override string DdlStatementDelimiter { get { return ";"; } } - public override string BatchItemDelimiter { get { return ";\r\n"; } } + //public override string BatchItemDelimiter { get { return ";\r\n"; } } [DebuggerStepThrough] public override string QuoteIdentifier(params string[] names) diff --git a/Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/Translator.cs b/Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/Translator.cs index e15784b59..9ccef22e4 100644 --- a/Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/Translator.cs +++ b/Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/Translator.cs @@ -41,11 +41,11 @@ public override string DdlStatementDelimiter get { return ";"; } } - /// - public override string BatchItemDelimiter - { - get { return ";\r\n"; } - } + ///// + //public override string BatchItemDelimiter + //{ + // get { return ";\r\n"; } + //} /// public override void Initialize() From 2a13f47afa70aae2869e7efb637de38a9cc0c333 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Mon, 6 Oct 2025 13:49:38 +0500 Subject: [PATCH 32/75] No hard-coded windows-style new line symbols --- Orm/Xtensive.Orm/Orm/KeyMapping.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Orm/Xtensive.Orm/Orm/KeyMapping.cs b/Orm/Xtensive.Orm/Orm/KeyMapping.cs index 4dae40028..fa0d19036 100644 --- a/Orm/Xtensive.Orm/Orm/KeyMapping.cs +++ b/Orm/Xtensive.Orm/Orm/KeyMapping.cs @@ -61,7 +61,7 @@ public void RemapEntityKeys(Session session) /// public override string ToString() { - return string.Format("{0}:\r\n", Strings.KeyMapping) + ( + return string.Format("{0}:", Strings.KeyMapping) + Environment.NewLine + ( from pair in map let pairKeyString = pair.Key.ToString() orderby pairKeyString From fe60b080f4c99bce73bb84f947d09adb8a0363a8 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Mon, 6 Oct 2025 13:50:44 +0500 Subject: [PATCH 33/75] Try use reduced data for ordering test --- Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs index 704bd805c..c380bf8b3 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs @@ -99,7 +99,7 @@ public void OrderByAnonymous2Test() [Test] public void OrderByDescendingTest() { - Require.ProviderIsNot(StorageProvider.Sqlite | StorageProvider.Firebird, "Different ordering"); + Require.ProviderIsNot(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); var result = Session.Query.All() .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) @@ -117,7 +117,7 @@ public void OrderByDescendingTest() [Test] public void OrderByDescendingAlternativeTest() { - Require.ProviderIs(StorageProvider.Sqlite | StorageProvider.Firebird, "Different ordering"); + Require.ProviderIs(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); var result = Session.Query.All() .Where(c => !c.Address.Country.StartsWith("U")) From 987edf766e31d58da0165aa74a442885aa11b1e6 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Mon, 6 Oct 2025 16:15:45 +0500 Subject: [PATCH 34/75] Temporary log ordered sequences --- Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs index c380bf8b3..6d15b946c 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs @@ -110,7 +110,11 @@ public void OrderByDescendingTest() .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) .Select(c => c.Address.City) .Where(c => c[0] != 'S'); + Assert.That(result.Count, Is.EqualTo(expected.Count)); Assert.That(result, Is.Not.Empty); + for (var i = 0; i < expected.Count; i++) { + Console.WriteLine($"{expected[i]} - {result[i]}"); + } Assert.IsTrue(expected.SequenceEqual(result)); } From 2234996341d3d4dcfab7c72bc9a22c4f2cbfa700 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Mon, 6 Oct 2025 16:17:31 +0500 Subject: [PATCH 35/75] Fix compilation error --- Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs index 6d15b946c..31f556c3d 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs @@ -109,7 +109,7 @@ public void OrderByDescendingTest() var expected = Customers .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) .Select(c => c.Address.City) - .Where(c => c[0] != 'S'); + .Where(c => c[0] != 'S').ToList(); Assert.That(result.Count, Is.EqualTo(expected.Count)); Assert.That(result, Is.Not.Empty); for (var i = 0; i < expected.Count; i++) { From adcddae68af79d793310a3360dece43c8a6e186d Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Mon, 6 Oct 2025 17:04:39 +0500 Subject: [PATCH 36/75] Revert adding output of order results and apply provider filter to tests --- Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs index 31f556c3d..320a71a85 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs @@ -99,7 +99,7 @@ public void OrderByAnonymous2Test() [Test] public void OrderByDescendingTest() { - Require.ProviderIsNot(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); + Require.ProviderIsNot(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql | StorageProvider.PostgreSql, "Different ordering"); var result = Session.Query.All() .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) @@ -109,19 +109,15 @@ public void OrderByDescendingTest() var expected = Customers .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) .Select(c => c.Address.City) - .Where(c => c[0] != 'S').ToList(); - Assert.That(result.Count, Is.EqualTo(expected.Count)); + .Where(c => c[0] != 'S'); Assert.That(result, Is.Not.Empty); - for (var i = 0; i < expected.Count; i++) { - Console.WriteLine($"{expected[i]} - {result[i]}"); - } Assert.IsTrue(expected.SequenceEqual(result)); } [Test] public void OrderByDescendingAlternativeTest() { - Require.ProviderIs(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); + Require.ProviderIs(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql | StorageProvider.PostgreSql, "Different ordering"); var result = Session.Query.All() .Where(c => !c.Address.Country.StartsWith("U")) From 30836be9de1424a5f408619d467fae24032d9700 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 7 Oct 2025 11:27:47 +0500 Subject: [PATCH 37/75] Add ordered items output for ordering issue investigation --- Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs index 320a71a85..7244e18d1 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs @@ -99,7 +99,21 @@ public void OrderByAnonymous2Test() [Test] public void OrderByDescendingTest() { - Require.ProviderIsNot(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql | StorageProvider.PostgreSql, "Different ordering"); + Require.ProviderIsNot(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); + + var serverOrdered = Session.Query.All() + .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) + .Select(c => new { c.Address.Country, c.CustomerId, c.Address.City }).ToList(); + + var localOrdered = Customers + .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) + .Select(c => new { c.Address.Country, c.CustomerId, c.Address.City }).ToList(); + + for(var i = 0; i < serverOrdered.Count; i++) { + var server = serverOrdered[i]; + var local = localOrdered[i]; + Console.WriteLine($"({server.Country}, {server.CustomerId}, {server.City}) - ({local.Country}, {local.CustomerId}, {local.City});"); + } var result = Session.Query.All() .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) @@ -117,7 +131,7 @@ public void OrderByDescendingTest() [Test] public void OrderByDescendingAlternativeTest() { - Require.ProviderIs(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql | StorageProvider.PostgreSql, "Different ordering"); + Require.ProviderIs(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); var result = Session.Query.All() .Where(c => !c.Address.Country.StartsWith("U")) From 55e591433c8d12dcda7fa99ce81e80e21ce7ab52 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Mon, 6 Oct 2025 15:30:16 +0500 Subject: [PATCH 38/75] Remove unsupported by test framework storage from running list --- .github/workflows/dispatched-pgsql9-tests.yml | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/.github/workflows/dispatched-pgsql9-tests.yml b/.github/workflows/dispatched-pgsql9-tests.yml index 2abcc703e..30620eede 100644 --- a/.github/workflows/dispatched-pgsql9-tests.yml +++ b/.github/workflows/dispatched-pgsql9-tests.yml @@ -21,11 +21,6 @@ on: pgsql92: description: 'PostgreSQL 9.2' type: boolean - default: false - required: true - pgsql96: - description: 'PostgreSQL 9.6' - type: boolean default: true required: true @@ -97,23 +92,3 @@ jobs: run_sql: true run_extensions: true publish_raw_results: true - - test_on_pgsql96: - name: Tests on PostgreSQL 9.6 - if: ${{ inputs.pgsql96 }} - strategy: - matrix: - net: [ 'netcoreapp2.0' ] - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 - with: - storage: pgsql96 - build_config: Release - target_framework: ${{ matrix.net }} - specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} - test_output_verbosity: minimal - test_run_timeout: 30 - run_main: true - run_sql: true - run_extensions: true - publish_raw_results: true From 3644a2a971792ac75abd363a70d5413e16e54abd Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 7 Oct 2025 12:46:11 +0500 Subject: [PATCH 39/75] Revert change to specific version of netcoreapp2.0 --- .github/actions/setup-dotnets/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-dotnets/action.yml b/.github/actions/setup-dotnets/action.yml index f2b6924f7..18f096982 100644 --- a/.github/actions/setup-dotnets/action.yml +++ b/.github/actions/setup-dotnets/action.yml @@ -51,4 +51,4 @@ runs: if: ${{ contains(inputs.target_framework, '2.0') }} uses: actions/setup-dotnet@v4 with: - dotnet-version: '2.1.403' + dotnet-version: '2.0.x' From 112337137773f60b3dda539a609291869428167a Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 7 Oct 2025 13:43:15 +0500 Subject: [PATCH 40/75] Try not use 'USA' abbreviation in test dataset to avoid ordering issues --- Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs | 2 +- Orm/Xtensive.Orm.Tests/ObjectModel/ChinookDO.cs | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs index 7244e18d1..93c2429d6 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs @@ -99,7 +99,7 @@ public void OrderByAnonymous2Test() [Test] public void OrderByDescendingTest() { - Require.ProviderIsNot(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); + //Require.ProviderIsNot(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); var serverOrdered = Session.Query.All() .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) diff --git a/Orm/Xtensive.Orm.Tests/ObjectModel/ChinookDO.cs b/Orm/Xtensive.Orm.Tests/ObjectModel/ChinookDO.cs index 08d414c17..f3d6ba179 100644 --- a/Orm/Xtensive.Orm.Tests/ObjectModel/ChinookDO.cs +++ b/Orm/Xtensive.Orm.Tests/ObjectModel/ChinookDO.cs @@ -1,4 +1,4 @@ -// Copyright (C) 2010 Xtensive LLC. +// Copyright (C) 2010 Xtensive LLC. // All rights reserved. // For conditions of distribution and use, see license. // Created by: Denis Kudelin @@ -153,7 +153,9 @@ public override void Import(Dictionary fields, ImportContext con StreetAddress = (string) fields["StreetAddress"], City = (string) fields["City"], State = (string) fields["State"], - Country = (string) fields["Country"], + // USA and United Kingdom, depending on runtime and/or RDBMS, can be differently ordered + // so not having abbreviation should resolve this issue. + Country = ((string) fields["Country"]).Replace("USA", "United States", StringComparison.Ordinal), PostalCode = (string) fields["PostalCode"], }, Phone = (string) fields["Phone"], From 2be84202c17421c0cf185e6d4361047daafe8a5e Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 7 Oct 2025 14:54:56 +0500 Subject: [PATCH 41/75] Replace USA with United States in query filter expressions --- Orm/Xtensive.Orm.Tests/Linq/MsSamples/LinqToSqlSamples.cs | 2 +- Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs | 4 ++-- Orm/Xtensive.Orm.Tests/Linq/SkipTakeElementAtTest.cs | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests/Linq/MsSamples/LinqToSqlSamples.cs b/Orm/Xtensive.Orm.Tests/Linq/MsSamples/LinqToSqlSamples.cs index d29e94afc..621396ee6 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/MsSamples/LinqToSqlSamples.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/MsSamples/LinqToSqlSamples.cs @@ -431,7 +431,7 @@ public void DLinqJoin2() { var q = from i in Session.Query.All() - where i.Customer.Address.Country=="USA" && i.Status==InvoiceStatus.Paid + where i.Customer.Address.Country=="United States" && i.Status==InvoiceStatus.Paid select i; QueryDumper.Dump(q); diff --git a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs index 93c2429d6..27e020447 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs @@ -180,12 +180,12 @@ public void OrderByExpressionReducedDataTest() // to avoid non-english characters, which cause different order // we filter out everything that may have them var serverSide = Session.Query.All() - .Where(c => c.Address.Country.In("USA", "Canda", "France", "United Kingdom")) + .Where(c => c.Address.Country.In("United States", "Canda", "France", "United Kingdom")) .OrderBy(c => c.LastName.ToUpper()) .Select(c => new { c.LastName, c.Address.Country }) .ToList(); var local = Customers - .Where(c => c.Address.Country.In("USA", "Canda", "France", "United Kingdom")) + .Where(c => c.Address.Country.In("United States", "Canda", "France", "United Kingdom")) .OrderBy(c => c.LastName.ToUpper()).Select(c => new { c.LastName, c.Address.Country }).ToList(); Assert.That(serverSide, Is.Not.Empty); Assert.IsTrue(local.SequenceEqual(serverSide)); diff --git a/Orm/Xtensive.Orm.Tests/Linq/SkipTakeElementAtTest.cs b/Orm/Xtensive.Orm.Tests/Linq/SkipTakeElementAtTest.cs index 9244a1051..67d74b8d4 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/SkipTakeElementAtTest.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/SkipTakeElementAtTest.cs @@ -41,7 +41,7 @@ public void ReuseTake1Test() public void TakeTest(int takeValue) { var query = Session.Query.All() - .Where(c => c.Address.Country == "USA") + .Where(c => c.Address.Country == "United States") .Select(c => c.Key) .Take(takeValue); if (takeValue <= 0) { @@ -64,9 +64,9 @@ public void TakeTest(int takeValue) public void SkipTest(int skipValue) { var customersFromGermanyOverallCount = Session.Query.All() - .Where(c => c.Address.Country == "USA").Count(); + .Where(c => c.Address.Country == "United States").Count(); var query = Session.Query.All() - .Where(c => c.Address.Country == "USA") + .Where(c => c.Address.Country == "United States") .Select(c => c.Key) .Skip(skipValue); From cacbc07e257eb569713c6e29825efa24755d2bfa Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 7 Oct 2025 18:53:14 +0500 Subject: [PATCH 42/75] Add Accuracy usage for results of double type --- .../MaxProcessingTest.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests/Issues/IssueJira0786_SqlServerAggregatesProblem/MaxProcessingTest.cs b/Orm/Xtensive.Orm.Tests/Issues/IssueJira0786_SqlServerAggregatesProblem/MaxProcessingTest.cs index 548b1a475..65252497c 100644 --- a/Orm/Xtensive.Orm.Tests/Issues/IssueJira0786_SqlServerAggregatesProblem/MaxProcessingTest.cs +++ b/Orm/Xtensive.Orm.Tests/Issues/IssueJira0786_SqlServerAggregatesProblem/MaxProcessingTest.cs @@ -3005,7 +3005,7 @@ public void NullableDoubleFieldExpressionTest01() using (var tx = session.OpenTransaction()) { var queryableResult = session.Query.All().Max(i => i.NullableDoubleValue1 * i.NullableDoubleValue1); var enumerableResult = session.Query.All().AsEnumerable().Max(i => i.NullableDoubleValue1 * i.NullableDoubleValue1); - Assert.That(queryableResult, Is.EqualTo(enumerableResult)); + Assert.That(Math.Abs(queryableResult.Value - enumerableResult.Value), Is.LessThan(DoubleValueAccuracy)); } } @@ -3016,7 +3016,8 @@ public void NullableDoubleFieldExpressionTest02() using (var tx = session.OpenTransaction()) { var queryableResult = session.Query.All().Max(i => (decimal?) i.NullableDoubleValue1 * i.NullableDecimalValue); var enumerableResult = session.Query.All().AsEnumerable().Max(i => (decimal?) i.NullableDoubleValue1 * i.NullableDecimalValue); - Assert.That(queryableResult, Is.EqualTo(enumerableResult)); + Assert.That(Math.Abs(queryableResult.Value - enumerableResult.Value), Is.LessThan(DoubleValueAccuracy)); + ; } } From f0b3f89f85b3b9be60de7eb637ab31cc69ae8ec1 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 8 Oct 2025 11:42:31 +0500 Subject: [PATCH 43/75] Tests changes - remove empty command - remove ordered items output, added previosly - more usages of "USA" in raw data replaced with "United States" --- .../MaxProcessingTest.cs | 1 - Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs | 36 ------------------- .../ObjectModel/ChinookDO.cs | 4 ++- 3 files changed, 3 insertions(+), 38 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests/Issues/IssueJira0786_SqlServerAggregatesProblem/MaxProcessingTest.cs b/Orm/Xtensive.Orm.Tests/Issues/IssueJira0786_SqlServerAggregatesProblem/MaxProcessingTest.cs index 65252497c..4a1ecc56f 100644 --- a/Orm/Xtensive.Orm.Tests/Issues/IssueJira0786_SqlServerAggregatesProblem/MaxProcessingTest.cs +++ b/Orm/Xtensive.Orm.Tests/Issues/IssueJira0786_SqlServerAggregatesProblem/MaxProcessingTest.cs @@ -3017,7 +3017,6 @@ public void NullableDoubleFieldExpressionTest02() var queryableResult = session.Query.All().Max(i => (decimal?) i.NullableDoubleValue1 * i.NullableDecimalValue); var enumerableResult = session.Query.All().AsEnumerable().Max(i => (decimal?) i.NullableDoubleValue1 * i.NullableDecimalValue); Assert.That(Math.Abs(queryableResult.Value - enumerableResult.Value), Is.LessThan(DoubleValueAccuracy)); - ; } } diff --git a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs index 27e020447..b6ce61cd3 100644 --- a/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs +++ b/Orm/Xtensive.Orm.Tests/Linq/OrderByTest.cs @@ -99,48 +99,12 @@ public void OrderByAnonymous2Test() [Test] public void OrderByDescendingTest() { - //Require.ProviderIsNot(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); - - var serverOrdered = Session.Query.All() - .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) - .Select(c => new { c.Address.Country, c.CustomerId, c.Address.City }).ToList(); - - var localOrdered = Customers - .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) - .Select(c => new { c.Address.Country, c.CustomerId, c.Address.City }).ToList(); - - for(var i = 0; i < serverOrdered.Count; i++) { - var server = serverOrdered[i]; - var local = localOrdered[i]; - Console.WriteLine($"({server.Country}, {server.CustomerId}, {server.City}) - ({local.Country}, {local.CustomerId}, {local.City});"); - } - - var result = Session.Query.All() - .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) - .Select(c => c.Address.City) - .AsEnumerable() - .Where(c => c[0] != 'S').ToList();//There are Cites which cause slight deviation in order accross RDBMSs - var expected = Customers - .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) - .Select(c => c.Address.City) - .Where(c => c[0] != 'S'); - Assert.That(result, Is.Not.Empty); - Assert.IsTrue(expected.SequenceEqual(result)); - } - - [Test] - public void OrderByDescendingAlternativeTest() - { - Require.ProviderIs(StorageProvider.Sqlite | StorageProvider.Firebird | StorageProvider.MySql, "Different ordering"); - var result = Session.Query.All() - .Where(c => !c.Address.Country.StartsWith("U")) .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) .Select(c => c.Address.City) .AsEnumerable() .Where(c => c[0] != 'S').ToList();//There are Cites which cause slight deviation in order accross RDBMSs var expected = Customers - .Where(c => !c.Address.Country.StartsWith('U')) .OrderByDescending(c => c.Address.Country).ThenByDescending(c => c.CustomerId) .Select(c => c.Address.City) .Where(c => c[0] != 'S'); diff --git a/Orm/Xtensive.Orm.Tests/ObjectModel/ChinookDO.cs b/Orm/Xtensive.Orm.Tests/ObjectModel/ChinookDO.cs index f3d6ba179..62e2a379c 100644 --- a/Orm/Xtensive.Orm.Tests/ObjectModel/ChinookDO.cs +++ b/Orm/Xtensive.Orm.Tests/ObjectModel/ChinookDO.cs @@ -181,7 +181,9 @@ public override void Import(Dictionary fields, ImportContext con StreetAddress = (string) fields["BillingStreetAddress"], City = (string) fields["BillingCity"], State = (string) fields["BillingState"], - Country = (string) fields["BillingCountry"], + // USA and United Kingdom, depending on runtime and/or RDBMS, can be differently ordered + // so not having abbreviation should resolve this issue. + Country = ((string) fields["BillingCountry"]).Replace("USA", "United States", StringComparison.Ordinal), PostalCode = (string) fields["BillingPostalCode"], }, Total = (decimal) fields["Total"], From 1f8efded0d50fa4b43f9daf321a6e849198c120a Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 8 Oct 2025 12:58:34 +0500 Subject: [PATCH 44/75] Remove commented code --- .../Sql.Drivers.PostgreSql/v8_0/Translator.cs | 1 - Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/Translator.cs | 6 ------ 2 files changed, 7 deletions(-) diff --git a/Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Translator.cs b/Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Translator.cs index 111db1f11..4cb241051 100644 --- a/Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Translator.cs +++ b/Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Translator.cs @@ -43,7 +43,6 @@ public override void Initialize() } public override string DdlStatementDelimiter { get { return ";"; } } - //public override string BatchItemDelimiter { get { return ";\r\n"; } } [DebuggerStepThrough] public override string QuoteIdentifier(params string[] names) diff --git a/Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/Translator.cs b/Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/Translator.cs index 9ccef22e4..498dace72 100644 --- a/Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/Translator.cs +++ b/Orm/Xtensive.Orm.Sqlite/Sql.Drivers.Sqlite/v3/Translator.cs @@ -41,12 +41,6 @@ public override string DdlStatementDelimiter get { return ";"; } } - ///// - //public override string BatchItemDelimiter - //{ - // get { return ";\r\n"; } - //} - /// public override void Initialize() { From 4ed83d870476433bebe7cb528091c034c66fea8d Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 8 Oct 2025 13:08:44 +0500 Subject: [PATCH 45/75] Revert change to exact version of sdk for netcoreapp3.1 --- .github/actions/setup-dotnets/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-dotnets/action.yml b/.github/actions/setup-dotnets/action.yml index 18f096982..442005972 100644 --- a/.github/actions/setup-dotnets/action.yml +++ b/.github/actions/setup-dotnets/action.yml @@ -45,7 +45,7 @@ runs: if: ${{ contains(inputs.target_framework, '3.1') }} uses: actions/setup-dotnet@v4 with: - dotnet-version: '3.1.402' + dotnet-version: '3.1.x' - name: Setup .NET Core 2.0 (if needed) if: ${{ contains(inputs.target_framework, '2.0') }} From 9937ba7b306a71134357bdfd01a3ffcf0cb6eca0 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 8 Oct 2025 16:01:26 +0500 Subject: [PATCH 46/75] Remove unsupported version of postgres --- .../workflows/dispatched-pgsql10-tests.yml | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/.github/workflows/dispatched-pgsql10-tests.yml b/.github/workflows/dispatched-pgsql10-tests.yml index 0affdd408..6f2297f12 100644 --- a/.github/workflows/dispatched-pgsql10-tests.yml +++ b/.github/workflows/dispatched-pgsql10-tests.yml @@ -36,11 +36,6 @@ on: pgsql140: description: 'PostgreSQL 14' type: boolean - default: false - required: true - pgsql150: - description: 'PostgreSQL 15' - type: boolean default: true required: true @@ -153,24 +148,4 @@ jobs: run_main: true run_sql: true run_extensions: true - publish_raw_results: true - - test_on_pgsql150: - name: Tests on PostgreSQL 15 - if: ${{ inputs.pgsql150 }} - strategy: - matrix: - net: [ 'netcoreapp3.1' ] - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 - with: - storage: pgsql150 - build_config: Release - target_framework: ${{ matrix.net }} - specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} - test_output_verbosity: minimal - test_run_timeout: 30 - run_main: true - run_sql: true - run_extensions: true publish_raw_results: true \ No newline at end of file From 105e8f0b9e4257bdf7886650806e812f0069aff7 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 8 Oct 2025 16:22:37 +0500 Subject: [PATCH 47/75] Add ability to have all the failed tests --- .github/workflows/dispatched-sqlite-tests.yml | 6 ++++++ .github/workflows/reusable-storage-dependant-tests.yml | 6 ++++++ .../IgnoreIfGithubActionsAttribute.cs | 4 +++- Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs | 10 +++++++++- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dispatched-sqlite-tests.yml b/.github/workflows/dispatched-sqlite-tests.yml index 1074eb303..0d5990138 100644 --- a/.github/workflows/dispatched-sqlite-tests.yml +++ b/.github/workflows/dispatched-sqlite-tests.yml @@ -13,6 +13,11 @@ on: required: false default: '' type: string + show_all_fails: + description: 'No mute tests' + type: boolean + default: false + required: true sqlite3: description: 'SQLite 3' type: boolean @@ -43,6 +48,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 run_main: true diff --git a/.github/workflows/reusable-storage-dependant-tests.yml b/.github/workflows/reusable-storage-dependant-tests.yml index c44efc518..d04124def 100644 --- a/.github/workflows/reusable-storage-dependant-tests.yml +++ b/.github/workflows/reusable-storage-dependant-tests.yml @@ -28,6 +28,11 @@ on: required: false default: 1 type: number + show_all_fails: + description: 'No mute tests' + type: boolean + default: false + required: true test_output_verbosity: description: 'Verbosity for dotnet test command' required: true @@ -81,6 +86,7 @@ jobs: REQUIRES_DOCKER: ${{ inputs.storage != 'sqlite3' }} #sqlite3 exists within runner DOCKER_SCRIPT_KEY: '' TEST_RESULTS_FOLDER: _Build/tests/${{ inputs.build_config }}/${{ inputs.target_framework }}/${{ inputs.storage }} + GA_NO_IGNORE: ${{ inputs.show_all_fails }} steps: - name: Downgrade OpenSSL diff --git a/Orm/Xtensive.Orm.Tests.Framework/NUnitFrameworkExtensions/IgnoreIfGithubActionsAttribute.cs b/Orm/Xtensive.Orm.Tests.Framework/NUnitFrameworkExtensions/IgnoreIfGithubActionsAttribute.cs index 4facda9dc..cbb4bd3dd 100644 --- a/Orm/Xtensive.Orm.Tests.Framework/NUnitFrameworkExtensions/IgnoreIfGithubActionsAttribute.cs +++ b/Orm/Xtensive.Orm.Tests.Framework/NUnitFrameworkExtensions/IgnoreIfGithubActionsAttribute.cs @@ -120,10 +120,12 @@ protected override void OnAfterTestCheck(ITest test) private void Check() { + if (TestInfo.NoIgnoreOnGithubActions) { + return; + } if (Provider.HasValue && !StorageProviderInfo.Instance.CheckProviderIs(Provider.Value)) { return; } - if (TriggerEvent.HasValue && TriggerEvent != TestInfo.GithubActionTrigger) { return; } diff --git a/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs b/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs index e79b024ba..5bf0b6154 100644 --- a/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs +++ b/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs @@ -33,6 +33,8 @@ public static class TestInfo { private static readonly bool isBuildServer; private static readonly bool isGithubActions; + private static readonly bool noIgnoreOnGithubActions; + private static readonly GithubActionsEvents? githubActionsTriggeredBy; /// @@ -63,6 +65,11 @@ public static class TestInfo /// public static bool IsGithubActions => isGithubActions; + /// + /// In case of run on GinHubActions, no test ignore happens in nor + /// + public static bool NoIgnoreOnGithubActions => noIgnoreOnGithubActions; + /// /// Gets the event that triggered test run within Github Actions environment. /// @@ -101,7 +108,8 @@ private static IEnumerable GetMethodAttributes() where T : Attribute static TestInfo() { isBuildServer = Environment.GetEnvironmentVariable("TEAMCITY_VERSION") != null; - isGithubActions = Environment.GetEnvironmentVariable("GITHUB_WORKSPACE") != null; + isGithubActions = Environment.GetEnvironmentVariable("GITHUB_WORKSPACE").Equals("true", StringComparison.OrdinalIgnoreCase); + noIgnoreOnGithubActions = isGithubActions && Environment.GetEnvironmentVariable("GA_NO_IGNORE").Equals("true", StringComparison.OrdinalIgnoreCase); githubActionsTriggeredBy = TryParseGithubEventName(Environment.GetEnvironmentVariable("GITHUB_EVENT_NAME")); } } From a3e84f204a43e8d373e5bc871e68c62581604a93 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 8 Oct 2025 19:47:19 +0500 Subject: [PATCH 48/75] Add ability to have all the failed tests (part 2) --- .github/actions/run-database-tests/action.yml | 17 +++++++++++++++++ .../reusable-storage-dependant-tests.yml | 4 +++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/actions/run-database-tests/action.yml b/.github/actions/run-database-tests/action.yml index f731ca4ca..0cd4bafb4 100644 --- a/.github/actions/run-database-tests/action.yml +++ b/.github/actions/run-database-tests/action.yml @@ -7,6 +7,11 @@ inputs: required: true default: 'Release' type: string + show_all_fails: + description: 'No mute tests' + type: boolean + default: false + required: true test_output_verbosity: description: 'Verbosity for dotnet test command' required: true @@ -36,21 +41,29 @@ runs: using: "composite" steps: - name: Test Orm.Tests set of tests + env: + GA_NO_IGNORE: ${{ inputs.show_all_fails }} if: ${{ !cancelled() && fromJSON(inputs.run_main) }} shell: bash 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 }} - name: Test Orm.Tests.Sql set of tests + env: + GA_NO_IGNORE: ${{ inputs.show_all_fails }} if: ${{ !cancelled() && fromJSON(inputs.run_sql) }} shell: bash 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 }} - name: Test BulkOperations extension set of tests + env: + GA_NO_IGNORE: ${{ inputs.show_all_fails }} if: ${{ !cancelled() && fromJSON(inputs.run_extensions) }} shell: bash 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 }} - name: Test Localization extension set of tests + env: + GA_NO_IGNORE: ${{ inputs.show_all_fails }} if: ${{ !cancelled() && fromJSON(inputs.run_extensions) }} shell: bash 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 }} @@ -60,11 +73,15 @@ runs: # step. To not disturb normal tests execution Reprocessing tests moved outside the action. - name: Test Security extension set of tests + env: + GA_NO_IGNORE: ${{ inputs.show_all_fails }} if: ${{ !cancelled() && fromJSON(inputs.run_extensions) }} shell: bash 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 }} - name: Test Tracking extension set of tests + env: + GA_NO_IGNORE: ${{ inputs.show_all_fails }} if: ${{ !cancelled() && fromJSON(inputs.run_extensions) }} shell: bash 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 }} \ No newline at end of file diff --git a/.github/workflows/reusable-storage-dependant-tests.yml b/.github/workflows/reusable-storage-dependant-tests.yml index d04124def..a6d936581 100644 --- a/.github/workflows/reusable-storage-dependant-tests.yml +++ b/.github/workflows/reusable-storage-dependant-tests.yml @@ -86,7 +86,6 @@ jobs: REQUIRES_DOCKER: ${{ inputs.storage != 'sqlite3' }} #sqlite3 exists within runner DOCKER_SCRIPT_KEY: '' TEST_RESULTS_FOLDER: _Build/tests/${{ inputs.build_config }}/${{ inputs.target_framework }}/${{ inputs.storage }} - GA_NO_IGNORE: ${{ inputs.show_all_fails }} steps: - name: Downgrade OpenSSL @@ -135,6 +134,8 @@ jobs: # Since composite action syntax does not allow to define step timeout # we have to run Reprocessing project here, because it may stuck in forever-loop - name: Test Reprocessing extension set of tests + env: + GA_NO_IGNORE: ${{ inputs.show_all_fails }} if: ${{ success() && inputs.run_extensions }} timeout-minutes: 5 # timeout here is VERY important because reprocessing tests concurrent execution which can cause forever loop run: dotnet test Extensions/Xtensive.Orm.Reprocessing.Tests/Xtensive.Orm.Reprocessing.Tests.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Reprocessing.Tests.trx" --results-directory ${{ env.TEST_RESULTS_FOLDER }} -v ${{ inputs.test_output_verbosity }} @@ -145,6 +146,7 @@ jobs: uses: ./.github/actions/run-database-tests with: build_config: ${{ inputs.build_config }} + show_all_fails: ${{ inputs.show_all_fails }} test_output_verbosity: ${{ inputs.test_output_verbosity }} test_results_folder: ${{ env.TEST_RESULTS_FOLDER }} run_main: ${{ fromJSON(inputs.run_main) }} From 6c473ae3d60b439a4dcb6dc40eff9ff5736ee2c8 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 10:42:54 +0500 Subject: [PATCH 49/75] constant env value instead of dynamic parameter --- .github/actions/run-database-tests/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/run-database-tests/action.yml b/.github/actions/run-database-tests/action.yml index 0cd4bafb4..d81bb6ce0 100644 --- a/.github/actions/run-database-tests/action.yml +++ b/.github/actions/run-database-tests/action.yml @@ -42,7 +42,7 @@ runs: steps: - name: Test Orm.Tests set of tests env: - GA_NO_IGNORE: ${{ inputs.show_all_fails }} + GA_NO_IGNORE: false if: ${{ !cancelled() && fromJSON(inputs.run_main) }} shell: bash 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 }} From adc56c04c3dfe42b51f88a34f207154b4c9e3019 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 12:23:09 +0500 Subject: [PATCH 50/75] Add TestInfo tests with raw environment variables output --- Orm/Xtensive.Orm.Tests/TestInfoTest.cs | 61 ++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Orm/Xtensive.Orm.Tests/TestInfoTest.cs diff --git a/Orm/Xtensive.Orm.Tests/TestInfoTest.cs b/Orm/Xtensive.Orm.Tests/TestInfoTest.cs new file mode 100644 index 000000000..15ac2aafa --- /dev/null +++ b/Orm/Xtensive.Orm.Tests/TestInfoTest.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Text; +using NUnit.Framework; + +namespace Xtensive.Orm.Tests +{ + + [TestFixture] + public sealed class TestInfoTest + { + [Test] + public void IsBuildServerTest() + { + var teamCityVersion = Environment.GetEnvironmentVariable("TEAMCITY_VERSION"); + Console.WriteLine($"TEAMCITY_VERSION : {teamCityVersion}; IsBuildServer : {TestInfo.IsBuildServer}"); + Assert.That(TestInfo.IsBuildServer, Is.EqualTo(teamCityVersion != null)); + } + + [Test] + public void IsGithubActionsTest() + { + var githubActions = Environment.GetEnvironmentVariable("GITHUB_WORKSPACE"); + Console.WriteLine($"TEAMCITY_VERSION : {githubActions}; IsBuildServer : {TestInfo.IsGithubActions}"); + + if (githubActions is null) { + Assert.That(TestInfo.IsGithubActions, Is.False); + + var githbuActionsNoIgnore = Environment.GetEnvironmentVariable("GA_NO_IGNORE"); + Console.WriteLine($"GA_NO_IGNORE : {githbuActionsNoIgnore} ; NoIgnoreOnGithubActions : {TestInfo.NoIgnoreOnGithubActions}"); + if (githbuActionsNoIgnore is null) + Assert.That(TestInfo.NoIgnoreOnGithubActions); + else + Assert.That(TestInfo.NoIgnoreOnGithubActions); + } + else { + Assert.That(TestInfo.IsGithubActions, Is.EqualTo(githubActions.Equals("true", StringComparison.OrdinalIgnoreCase))); + if (githubActions.Equals("true", StringComparison.OrdinalIgnoreCase)) { + + var githubActionsTrigger = Environment.GetEnvironmentVariable("GITHUB_EVENT_NAME"); + Console.WriteLine($"GITHUB_EVENT_NAME : {githubActionsTrigger} ; GithubActionTrigger : {TestInfo.GithubActionTrigger}"); + if (githubActionsTrigger is null) { + Assert.That(TestInfo.GithubActionTrigger.HasValue, Is.False); + } + else { + Assert.That(TestInfo.GithubActionTrigger.HasValue, Is.True); + } + + var githbuActionsNoIgnore = Environment.GetEnvironmentVariable("GA_NO_IGNORE"); + Console.WriteLine($"GA_NO_IGNORE : {githbuActionsNoIgnore} ; NoIgnoreOnGithubActions : {TestInfo.NoIgnoreOnGithubActions}"); + if (githbuActionsNoIgnore is null) { + Assert.That(TestInfo.NoIgnoreOnGithubActions, Is.False); + } + else { + Assert.That(TestInfo.NoIgnoreOnGithubActions, Is.EqualTo(githbuActionsNoIgnore.Equals("true", StringComparison.OrdinalIgnoreCase))); + } + } + } + } + } +} From 3fa4041e454ab7344c54e754818db1c1db96c6e4 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 12:23:32 +0500 Subject: [PATCH 51/75] Fix certain issues of TestInfo --- Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs b/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs index 5bf0b6154..58f6d7c59 100644 --- a/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs +++ b/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs @@ -108,8 +108,8 @@ private static IEnumerable GetMethodAttributes() where T : Attribute static TestInfo() { isBuildServer = Environment.GetEnvironmentVariable("TEAMCITY_VERSION") != null; - isGithubActions = Environment.GetEnvironmentVariable("GITHUB_WORKSPACE").Equals("true", StringComparison.OrdinalIgnoreCase); - noIgnoreOnGithubActions = isGithubActions && Environment.GetEnvironmentVariable("GA_NO_IGNORE").Equals("true", StringComparison.OrdinalIgnoreCase); + isGithubActions = string.Equals(Environment.GetEnvironmentVariable("GITHUB_WORKSPACE"), "true", StringComparison.OrdinalIgnoreCase); + noIgnoreOnGithubActions = isGithubActions && string.Equals(Environment.GetEnvironmentVariable("GA_NO_IGNORE"), "true", StringComparison.OrdinalIgnoreCase); githubActionsTriggeredBy = TryParseGithubEventName(Environment.GetEnvironmentVariable("GITHUB_EVENT_NAME")); } } From a3d8bd65b278cbee82f0291bc4fcab2e057c2bf1 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 13:05:10 +0500 Subject: [PATCH 52/75] Fix wrong header of raw data output --- Orm/Xtensive.Orm.Tests/TestInfoTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Orm/Xtensive.Orm.Tests/TestInfoTest.cs b/Orm/Xtensive.Orm.Tests/TestInfoTest.cs index 15ac2aafa..bd9ae3e92 100644 --- a/Orm/Xtensive.Orm.Tests/TestInfoTest.cs +++ b/Orm/Xtensive.Orm.Tests/TestInfoTest.cs @@ -21,7 +21,7 @@ public void IsBuildServerTest() public void IsGithubActionsTest() { var githubActions = Environment.GetEnvironmentVariable("GITHUB_WORKSPACE"); - Console.WriteLine($"TEAMCITY_VERSION : {githubActions}; IsBuildServer : {TestInfo.IsGithubActions}"); + Console.WriteLine($"GITHUB_WORKSPACE : {githubActions}; IsBuildServer : {TestInfo.IsGithubActions}"); if (githubActions is null) { Assert.That(TestInfo.IsGithubActions, Is.False); From a2e9a23ec51b387ad333d25148d3134f72610918 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 13:54:00 +0500 Subject: [PATCH 53/75] Fix wrong expected value of environment value --- Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs b/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs index 58f6d7c59..ef2a75b48 100644 --- a/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs +++ b/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs @@ -108,7 +108,7 @@ private static IEnumerable GetMethodAttributes() where T : Attribute static TestInfo() { isBuildServer = Environment.GetEnvironmentVariable("TEAMCITY_VERSION") != null; - isGithubActions = string.Equals(Environment.GetEnvironmentVariable("GITHUB_WORKSPACE"), "true", StringComparison.OrdinalIgnoreCase); + isGithubActions = !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("GITHUB_WORKSPACE")); noIgnoreOnGithubActions = isGithubActions && string.Equals(Environment.GetEnvironmentVariable("GA_NO_IGNORE"), "true", StringComparison.OrdinalIgnoreCase); githubActionsTriggeredBy = TryParseGithubEventName(Environment.GetEnvironmentVariable("GITHUB_EVENT_NAME")); } From d2f243b4bd147a0422141519fdd443173504b0ab Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 13:54:57 +0500 Subject: [PATCH 54/75] Revert switch to constant env value --- .github/actions/run-database-tests/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/run-database-tests/action.yml b/.github/actions/run-database-tests/action.yml index d81bb6ce0..0cd4bafb4 100644 --- a/.github/actions/run-database-tests/action.yml +++ b/.github/actions/run-database-tests/action.yml @@ -42,7 +42,7 @@ runs: steps: - name: Test Orm.Tests set of tests env: - GA_NO_IGNORE: false + GA_NO_IGNORE: ${{ inputs.show_all_fails }} if: ${{ !cancelled() && fromJSON(inputs.run_main) }} shell: bash 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 }} From 3cbf0b3b2292231bee9842d9c229cb271e70a727 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 15:37:25 +0500 Subject: [PATCH 55/75] Improved TestInfo & its test --- Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs | 2 ++ Orm/Xtensive.Orm.Tests/TestInfoTest.cs | 36 +++++++++----------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs b/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs index ef2a75b48..1877b349c 100644 --- a/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs +++ b/Orm/Xtensive.Orm.Tests.Framework/TestInfo.cs @@ -22,6 +22,7 @@ public enum GithubActionsEvents PullRequest, WorkflowDispatch, WorkflowCall, + WorkflowRun, Push, Schedule } @@ -100,6 +101,7 @@ private static IEnumerable GetMethodAttributes() where T : Attribute "pull_request_target" => GithubActionsEvents.PullRequest, "workflow_dispatch" => GithubActionsEvents.WorkflowDispatch, "workflow_call" => GithubActionsEvents.WorkflowCall, + "workflow_run" => GithubActionsEvents.WorkflowRun, "schedule" => GithubActionsEvents.Schedule, _ => null }; diff --git a/Orm/Xtensive.Orm.Tests/TestInfoTest.cs b/Orm/Xtensive.Orm.Tests/TestInfoTest.cs index bd9ae3e92..dfaa4a126 100644 --- a/Orm/Xtensive.Orm.Tests/TestInfoTest.cs +++ b/Orm/Xtensive.Orm.Tests/TestInfoTest.cs @@ -21,7 +21,7 @@ public void IsBuildServerTest() public void IsGithubActionsTest() { var githubActions = Environment.GetEnvironmentVariable("GITHUB_WORKSPACE"); - Console.WriteLine($"GITHUB_WORKSPACE : {githubActions}; IsBuildServer : {TestInfo.IsGithubActions}"); + Console.WriteLine($"GITHUB_WORKSPACE : {githubActions}; IsGithubActions : {TestInfo.IsGithubActions}"); if (githubActions is null) { Assert.That(TestInfo.IsGithubActions, Is.False); @@ -34,26 +34,24 @@ public void IsGithubActionsTest() Assert.That(TestInfo.NoIgnoreOnGithubActions); } else { - Assert.That(TestInfo.IsGithubActions, Is.EqualTo(githubActions.Equals("true", StringComparison.OrdinalIgnoreCase))); - if (githubActions.Equals("true", StringComparison.OrdinalIgnoreCase)) { + Assert.That(TestInfo.IsGithubActions, Is.True); - var githubActionsTrigger = Environment.GetEnvironmentVariable("GITHUB_EVENT_NAME"); - Console.WriteLine($"GITHUB_EVENT_NAME : {githubActionsTrigger} ; GithubActionTrigger : {TestInfo.GithubActionTrigger}"); - if (githubActionsTrigger is null) { - Assert.That(TestInfo.GithubActionTrigger.HasValue, Is.False); - } - else { - Assert.That(TestInfo.GithubActionTrigger.HasValue, Is.True); - } + var githubActionsTrigger = Environment.GetEnvironmentVariable("GITHUB_EVENT_NAME"); + Console.WriteLine($"GITHUB_EVENT_NAME : {githubActionsTrigger} ; GithubActionTrigger : {TestInfo.GithubActionTrigger}"); + if (githubActionsTrigger is null) { + Assert.That(TestInfo.GithubActionTrigger.HasValue, Is.False); + } + else { + Assert.That(TestInfo.GithubActionTrigger.HasValue, Is.True); + } - var githbuActionsNoIgnore = Environment.GetEnvironmentVariable("GA_NO_IGNORE"); - Console.WriteLine($"GA_NO_IGNORE : {githbuActionsNoIgnore} ; NoIgnoreOnGithubActions : {TestInfo.NoIgnoreOnGithubActions}"); - if (githbuActionsNoIgnore is null) { - Assert.That(TestInfo.NoIgnoreOnGithubActions, Is.False); - } - else { - Assert.That(TestInfo.NoIgnoreOnGithubActions, Is.EqualTo(githbuActionsNoIgnore.Equals("true", StringComparison.OrdinalIgnoreCase))); - } + var githbuActionsNoIgnore = Environment.GetEnvironmentVariable("GA_NO_IGNORE"); + Console.WriteLine($"GA_NO_IGNORE : {githbuActionsNoIgnore} ; NoIgnoreOnGithubActions : {TestInfo.NoIgnoreOnGithubActions}"); + if (githbuActionsNoIgnore is null) { + Assert.That(TestInfo.NoIgnoreOnGithubActions, Is.False); + } + else { + Assert.That(TestInfo.NoIgnoreOnGithubActions, Is.EqualTo(githbuActionsNoIgnore.Equals("true", StringComparison.OrdinalIgnoreCase))); } } } From e48c953754b82586d75a2e4a5951d21e83bcbdf5 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 16:29:27 +0500 Subject: [PATCH 56/75] dispatched workflows allow not to mute failed tests --- .github/workflows/dispatched-firebird-tests.yml | 6 ++++++ .github/workflows/dispatched-mssql-tests.yml | 7 +++++++ .github/workflows/dispatched-mysql5-tests.yml | 7 +++++++ .github/workflows/dispatched-pgsql10-tests.yml | 7 +++++++ .github/workflows/dispatched-pgsql9-tests.yml | 7 +++++++ 5 files changed, 34 insertions(+) diff --git a/.github/workflows/dispatched-firebird-tests.yml b/.github/workflows/dispatched-firebird-tests.yml index 16c008a4a..98c513c36 100644 --- a/.github/workflows/dispatched-firebird-tests.yml +++ b/.github/workflows/dispatched-firebird-tests.yml @@ -13,6 +13,11 @@ on: required: false default: '' type: string + show_all_fails: + description: 'No mute tests' + type: boolean + default: false + required: true firebird30: description: 'Firebird 3.0' type: boolean @@ -43,6 +48,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 40 run_main: true diff --git a/.github/workflows/dispatched-mssql-tests.yml b/.github/workflows/dispatched-mssql-tests.yml index 94dde8d00..dd75184a7 100644 --- a/.github/workflows/dispatched-mssql-tests.yml +++ b/.github/workflows/dispatched-mssql-tests.yml @@ -13,6 +13,11 @@ on: required: false default: '' type: string + show_all_fails: + description: 'No mute tests' + type: boolean + default: false + required: true mssql2017: description: 'MS SQL Server 2017' type: boolean @@ -48,6 +53,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 50 run_main: true @@ -68,6 +74,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 50 run_main: true diff --git a/.github/workflows/dispatched-mysql5-tests.yml b/.github/workflows/dispatched-mysql5-tests.yml index 36793abb1..b4a88906d 100644 --- a/.github/workflows/dispatched-mysql5-tests.yml +++ b/.github/workflows/dispatched-mysql5-tests.yml @@ -13,6 +13,11 @@ on: required: false default: '' type: string + show_all_fails: + description: 'No mute tests' + type: boolean + default: false + required: true mysql55: description: 'MySQL 5.5' type: boolean @@ -48,6 +53,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 20 run_main: true @@ -68,6 +74,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 run_main: true diff --git a/.github/workflows/dispatched-pgsql10-tests.yml b/.github/workflows/dispatched-pgsql10-tests.yml index 2c336c54c..f781045ea 100644 --- a/.github/workflows/dispatched-pgsql10-tests.yml +++ b/.github/workflows/dispatched-pgsql10-tests.yml @@ -13,6 +13,11 @@ on: required: false default: '' type: string + show_all_fails: + description: 'No mute tests' + type: boolean + default: false + required: true pgsql100: description: 'PostgreSQL 10' type: boolean @@ -48,6 +53,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 run_main: true @@ -68,6 +74,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 run_main: true diff --git a/.github/workflows/dispatched-pgsql9-tests.yml b/.github/workflows/dispatched-pgsql9-tests.yml index 30620eede..c3aaa01ae 100644 --- a/.github/workflows/dispatched-pgsql9-tests.yml +++ b/.github/workflows/dispatched-pgsql9-tests.yml @@ -13,6 +13,11 @@ on: required: false default: '' type: string + show_all_fails: + description: 'No mute tests' + type: boolean + default: false + required: true pgsql91: description: 'PostgreSQL 9.1' type: boolean @@ -66,6 +71,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 run_main: true @@ -86,6 +92,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 run_main: true From 401b00f9b9ef70b46cbe62591e8d3c5d98e2b423 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 16:31:51 +0500 Subject: [PATCH 57/75] Postgres 11 for default run --- .github/workflows/dispatched-pgsql10-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dispatched-pgsql10-tests.yml b/.github/workflows/dispatched-pgsql10-tests.yml index f781045ea..0d6b7cedd 100644 --- a/.github/workflows/dispatched-pgsql10-tests.yml +++ b/.github/workflows/dispatched-pgsql10-tests.yml @@ -26,7 +26,7 @@ on: pgsql110: description: 'PostgreSQL 11' type: boolean - default: false + default: true required: true # new commits with the same key will cancel previously run workflows From 5cb02ad23c0fcfd35fb0684c106ff0bc72d50b84 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 17:54:08 +0500 Subject: [PATCH 58/75] After-merge fixes --- .github/workflows/dispatched-pgsql9-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dispatched-pgsql9-tests.yml b/.github/workflows/dispatched-pgsql9-tests.yml index 12e45ee98..46ed7fac2 100644 --- a/.github/workflows/dispatched-pgsql9-tests.yml +++ b/.github/workflows/dispatched-pgsql9-tests.yml @@ -118,6 +118,7 @@ jobs: target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} + show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 run_main: true From a8205f184a4343dddb543f0338140723a37431f8 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 19:17:18 +0500 Subject: [PATCH 59/75] No fetch depth as parameter --- .github/workflows/dispatched-build.yml | 25 +++++++++++-------- .../workflows/dispatched-firebird-tests.yml | 6 ----- .github/workflows/dispatched-mssql-tests.yml | 7 ------ .github/workflows/dispatched-mysql5-tests.yml | 7 ------ .../workflows/dispatched-pgsql10-tests.yml | 7 ------ .github/workflows/dispatched-pgsql9-tests.yml | 7 ------ .github/workflows/dispatched-sqlite-tests.yml | 6 ----- .../reusable-storage-dependant-tests.yml | 17 +++++++------ 8 files changed, 25 insertions(+), 57 deletions(-) diff --git a/.github/workflows/dispatched-build.yml b/.github/workflows/dispatched-build.yml index 434d38375..1d83e7c05 100644 --- a/.github/workflows/dispatched-build.yml +++ b/.github/workflows/dispatched-build.yml @@ -27,11 +27,6 @@ on: required: false default: '' type: string - fetch_depth: - description: 'Depth of repo fetch (change if SHA populated)' - required: false - default: 1 - type: number publish_artifacts: description: 'Publish artifacts' required: true @@ -54,15 +49,25 @@ jobs: BUILD_CONFIG: ${{ inputs.buildConfiguration }} BUILD_NUMBER: ${{ github.run_number }} steps: - - name: Checkout repo + - name: Checkout repo (last commit) + if: ${{ inputs.specific_sha == '' || github.reg_type != 'branch' }} + timeout-minutes: 1 + uses: actions/checkout@v4 + with: + ref: ${{ github.ref_name }} + + - name: Checkout repo (last 50 commit) + if: ${{ inputs.specific_sha != '' && github.reg_type == 'branch' }} timeout-minutes: 1 uses: actions/checkout@v4 with: - fetch-depth: ${{ inputs.fetch_depth }} + ref: ${{ github.ref_name }} + fetch-depth: 50 - - name: Manual checkout - if: ${{ inputs.specific_sha != '' }} - run: git checkout ${{ inputs.specific_sha }} + # it leads to detached HEAD, but we don't commit anything anyway + - name: Manual commit checkout if required + if: ${{ inputs.specific_sha != '' && github.reg_type == 'branch' }} + run: git checkout ${{ inputs.specific_sha }} - name: Build Orm if: ${{ success() }} diff --git a/.github/workflows/dispatched-firebird-tests.yml b/.github/workflows/dispatched-firebird-tests.yml index 98c513c36..ff9707c28 100644 --- a/.github/workflows/dispatched-firebird-tests.yml +++ b/.github/workflows/dispatched-firebird-tests.yml @@ -3,11 +3,6 @@ run-name: Run database tests on Firebird on dispatch. Run No ${{ github.run_numb on: workflow_dispatch: inputs: - fetch_depth: - description: 'Depth of repo fetch (change if SHA populated)' - required: false - default: 1 - type: number specific_sha: description: 'Commit SHA to checkout' required: false @@ -47,7 +42,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 40 diff --git a/.github/workflows/dispatched-mssql-tests.yml b/.github/workflows/dispatched-mssql-tests.yml index dd75184a7..4e0a32bc2 100644 --- a/.github/workflows/dispatched-mssql-tests.yml +++ b/.github/workflows/dispatched-mssql-tests.yml @@ -3,11 +3,6 @@ run-name: Run database tests on MS SQL Server on dispatch. Run No ${{ github.run on: workflow_dispatch: inputs: - fetch_depth: - description: 'Depth of repo fetch (change if SHA populated)' - required: false - default: 1 - type: number specific_sha: description: 'Commit SHA to checkout' required: false @@ -52,7 +47,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 50 @@ -73,7 +67,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 50 diff --git a/.github/workflows/dispatched-mysql5-tests.yml b/.github/workflows/dispatched-mysql5-tests.yml index b4a88906d..aa97f6ddf 100644 --- a/.github/workflows/dispatched-mysql5-tests.yml +++ b/.github/workflows/dispatched-mysql5-tests.yml @@ -3,11 +3,6 @@ run-name: Run database tests on MySQL on dispatch. Run No ${{ github.run_number on: workflow_dispatch: inputs: - fetch_depth: - description: 'Depth of repo fetch (change if SHA populated)' - required: false - default: 1 - type: number specific_sha: description: 'Commit SHA to checkout' required: false @@ -52,7 +47,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 20 @@ -73,7 +67,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 diff --git a/.github/workflows/dispatched-pgsql10-tests.yml b/.github/workflows/dispatched-pgsql10-tests.yml index 0d6b7cedd..b07802ccb 100644 --- a/.github/workflows/dispatched-pgsql10-tests.yml +++ b/.github/workflows/dispatched-pgsql10-tests.yml @@ -3,11 +3,6 @@ run-name: Run database tests on PostgreSQL on dispatch. Run No ${{ github.run_nu on: workflow_dispatch: inputs: - fetch_depth: - description: 'Depth of repo fetch (change if SHA populated)' - required: false - default: 1 - type: number specific_sha: description: 'Commit SHA to checkout' required: false @@ -52,7 +47,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 @@ -73,7 +67,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 diff --git a/.github/workflows/dispatched-pgsql9-tests.yml b/.github/workflows/dispatched-pgsql9-tests.yml index c3aaa01ae..80c5e6ff2 100644 --- a/.github/workflows/dispatched-pgsql9-tests.yml +++ b/.github/workflows/dispatched-pgsql9-tests.yml @@ -3,11 +3,6 @@ run-name: Run database tests on PostgreSQL on dispatch. Run No ${{ github.run_nu on: workflow_dispatch: inputs: - fetch_depth: - description: 'Depth of repo fetch (change if SHA populated)' - required: false - default: 1 - type: number specific_sha: description: 'Commit SHA to checkout' required: false @@ -70,7 +65,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 @@ -91,7 +85,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 diff --git a/.github/workflows/dispatched-sqlite-tests.yml b/.github/workflows/dispatched-sqlite-tests.yml index 0d5990138..c09f9e1c9 100644 --- a/.github/workflows/dispatched-sqlite-tests.yml +++ b/.github/workflows/dispatched-sqlite-tests.yml @@ -3,11 +3,6 @@ run-name: Run database tests on SQLite on dispatch. Run No ${{ github.run_number on: workflow_dispatch: inputs: - fetch_depth: - description: 'Depth of repo fetch (change if SHA populated)' - required: false - default: 1 - type: number specific_sha: description: 'Commit SHA to checkout' required: false @@ -47,7 +42,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 diff --git a/.github/workflows/reusable-storage-dependant-tests.yml b/.github/workflows/reusable-storage-dependant-tests.yml index a6d936581..b138f1284 100644 --- a/.github/workflows/reusable-storage-dependant-tests.yml +++ b/.github/workflows/reusable-storage-dependant-tests.yml @@ -23,11 +23,6 @@ on: required: false default: '' type: string - fetch_depth: - description: 'Depth of repo fetch (change if SHA populated)' - required: false - default: 1 - type: number show_all_fails: description: 'No mute tests' type: boolean @@ -94,12 +89,20 @@ jobs: wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb sudo dpkg -i libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb - - name: Checkout repo + - name: Checkout repo (last commit) + if: ${{ inputs.specific_sha == '' || github.reg_type != 'branch' }} + timeout-minutes: 1 + uses: actions/checkout@v4 + with: + ref: ${{ github.ref_name }} + + - name: Checkout repo (last 50 commit) + if: ${{ inputs.specific_sha != '' && github.reg_type == 'branch' }} timeout-minutes: 1 uses: actions/checkout@v4 with: ref: ${{ github.ref_name }} - fetch-depth: ${{ inputs.fetch_depth }} + fetch-depth: 50 # it leads to detached HEAD, but we don't commit anything anyway - name: Manual commit checkout if required From 689369e48d19319755b43d72c4e6a86bd8af9806 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Thu, 9 Oct 2025 19:32:34 +0500 Subject: [PATCH 60/75] After-merge fixes --- .github/workflows/dispatched-mssql-tests.yml | 1 - .github/workflows/dispatched-mysql5-tests.yml | 1 - .github/workflows/dispatched-pgsql10-tests.yml | 3 --- .github/workflows/dispatched-pgsql9-tests.yml | 2 -- 4 files changed, 7 deletions(-) diff --git a/.github/workflows/dispatched-mssql-tests.yml b/.github/workflows/dispatched-mssql-tests.yml index e0b71f32c..17a3fe690 100644 --- a/.github/workflows/dispatched-mssql-tests.yml +++ b/.github/workflows/dispatched-mssql-tests.yml @@ -92,7 +92,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 50 diff --git a/.github/workflows/dispatched-mysql5-tests.yml b/.github/workflows/dispatched-mysql5-tests.yml index bd5252b6d..909cdb5b5 100644 --- a/.github/workflows/dispatched-mysql5-tests.yml +++ b/.github/workflows/dispatched-mysql5-tests.yml @@ -92,7 +92,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} test_output_verbosity: minimal test_run_timeout: 35 run_main: true diff --git a/.github/workflows/dispatched-pgsql10-tests.yml b/.github/workflows/dispatched-pgsql10-tests.yml index a770e7e72..c21fc43d7 100644 --- a/.github/workflows/dispatched-pgsql10-tests.yml +++ b/.github/workflows/dispatched-pgsql10-tests.yml @@ -102,7 +102,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 @@ -123,7 +122,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 @@ -144,7 +142,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 diff --git a/.github/workflows/dispatched-pgsql9-tests.yml b/.github/workflows/dispatched-pgsql9-tests.yml index 6256f3457..0f65d6d63 100644 --- a/.github/workflows/dispatched-pgsql9-tests.yml +++ b/.github/workflows/dispatched-pgsql9-tests.yml @@ -50,7 +50,6 @@ jobs: # build_config: Release # target_frameworks: net6.0 # specific_sha: ${{ inputs.specific_sha }} - # fetch_depth: 1 # test_output_verbosity: minimal # test_run_timeout: 70 # run_main: true @@ -110,7 +109,6 @@ jobs: build_config: Release target_framework: ${{ matrix.net }} specific_sha: ${{ inputs.specific_sha }} - fetch_depth: ${{ fromJSON(inputs.fetch_depth) }} show_all_fails: ${{ fromJSON(inputs.show_all_fails) }} test_output_verbosity: minimal test_run_timeout: 30 From 56a690f2e0a47e505b98ab1a2cb4ee5d2001e494 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Fri, 10 Oct 2025 12:21:59 +0500 Subject: [PATCH 61/75] Apply accuracy for test results --- .../IssueJira0786/MaxProcessingTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Orm/Xtensive.Orm.Tests/Issues/AggregatesRelatedIssues/IssueJira0786/MaxProcessingTest.cs b/Orm/Xtensive.Orm.Tests/Issues/AggregatesRelatedIssues/IssueJira0786/MaxProcessingTest.cs index a399b8ee0..f7d54a96b 100644 --- a/Orm/Xtensive.Orm.Tests/Issues/AggregatesRelatedIssues/IssueJira0786/MaxProcessingTest.cs +++ b/Orm/Xtensive.Orm.Tests/Issues/AggregatesRelatedIssues/IssueJira0786/MaxProcessingTest.cs @@ -1051,11 +1051,11 @@ public void NullableFloatFieldExpressionTest06() => [Test] public void NullableDoubleFieldExpressionTest01() => - TestMax(i => i.NullableDoubleValue1 * i.NullableDoubleValue1); + TestMaxWithAccuracy(i => i.NullableDoubleValue1 * i.NullableDoubleValue1, DoubleValueAccuracy); [Test] public void NullableDoubleFieldExpressionTest02() => - TestMax(i => (decimal?) i.NullableDoubleValue1 * i.NullableDecimalValue); + TestMaxWithAccuracy(i => (decimal?) i.NullableDoubleValue1 * i.NullableDecimalValue, DoubleValueAccuracy); [Test] public void NullableDecimalFieldExpressionTest() => From bf164610a0f0d5606cc0ea9f4025407d3adf7351 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 14 Oct 2025 19:35:28 +0500 Subject: [PATCH 62/75] Add auto-build and auto-tests for various providers - on push, on internal pull requests and on external pull request approval --- .github/workflows/auto-databaseless-tests.yml | 129 +++++++++++++ .github/workflows/auto-firebird3-tests.yml | 182 ++++++++++++++++++ .github/workflows/auto-mssql2017-tests.yml | 148 ++++++++++++++ .github/workflows/auto-mssql2019-tests.yml | 173 +++++++++++++++++ .github/workflows/auto-mysql55-tests.yml | 147 ++++++++++++++ .github/workflows/auto-mysql56-tests.yml | 182 ++++++++++++++++++ .github/workflows/auto-pgsql100-tests.yml | 149 ++++++++++++++ .github/workflows/auto-pgsql110-tests.yml | 173 +++++++++++++++++ .github/workflows/auto-pgsql91-tests.yml | 147 ++++++++++++++ .github/workflows/auto-pgsql92-tests.yml | 182 ++++++++++++++++++ .github/workflows/auto-sqlite3-tests.yml | 172 +++++++++++++++++ .../workflows/autobuild-on-push-and-pr.yml | 71 +++++++ .../reusable-storage-dependant-tests.yml | 22 +-- .../reusable-storage-independant-tests.yml | 31 ++- 14 files changed, 1887 insertions(+), 21 deletions(-) create mode 100644 .github/workflows/auto-databaseless-tests.yml create mode 100644 .github/workflows/auto-firebird3-tests.yml create mode 100644 .github/workflows/auto-mssql2017-tests.yml create mode 100644 .github/workflows/auto-mssql2019-tests.yml create mode 100644 .github/workflows/auto-mysql55-tests.yml create mode 100644 .github/workflows/auto-mysql56-tests.yml create mode 100644 .github/workflows/auto-pgsql100-tests.yml create mode 100644 .github/workflows/auto-pgsql110-tests.yml create mode 100644 .github/workflows/auto-pgsql91-tests.yml create mode 100644 .github/workflows/auto-pgsql92-tests.yml create mode 100644 .github/workflows/auto-sqlite3-tests.yml create mode 100644 .github/workflows/autobuild-on-push-and-pr.yml diff --git a/.github/workflows/auto-databaseless-tests.yml b/.github/workflows/auto-databaseless-tests.yml new file mode 100644 index 000000000..5c3bb4bcb --- /dev/null +++ b/.github/workflows/auto-databaseless-tests.yml @@ -0,0 +1,129 @@ +name: ⚙ Automated no-database tests +run-name: Core tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # extensions + - 'Extensions/Xtensive.Orm.Logging.log4net/**' + - '!Extensions/Xtensive.Orm.Logging.log4net/NuGetContent/**' + - '!Extensions/Xtensive.Orm.Logging.log4net/**.csproj' + - 'Extensions/Xtensive.Orm.Logging.log4net.Tests/**' + - '!Extensions/Xtensive.Orm.Logging.log4net.Tests/**.csproj' + - 'Extensions/Xtensive.Orm.Logging.NLog/**' + - '!Extensions/Xtensive.Orm.Logging.NLog/NuGetContent/**' + - '!Extensions/Xtensive.Orm.Logging.NLog/**.csproj' + - 'Extensions/Xtensive.Orm.Logging.NLog.Tests/**' + - '!Extensions/Xtensive.Orm.Logging.NLog.Tests/**.csproj' + # main project + - 'Orm/Xtensive.Orm/Arithmetics/**' + - 'Orm/Xtensive.Orm/Caching/**' + - 'Orm/Xtensive.Orm/Collections/**' + - 'Orm/Xtensive.Orm/Comparison/**' + - 'Orm/Xtensive.Orm/Conversion/**' + - 'Orm/Xtensive.Orm/Ioc/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Tuples/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '6.0' + paths: + # extensions + - 'Extensions/Xtensive.Orm.Logging.log4net/**' + - '!Extensions/Xtensive.Orm.Logging.log4net/NuGetContent/**' + - '!Extensions/Xtensive.Orm.Logging.log4net/**.csproj' + - 'Extensions/Xtensive.Orm.Logging.log4net.Tests/**' + - '!Extensions/Xtensive.Orm.Logging.log4net.Tests/**.csproj' + - 'Extensions/Xtensive.Orm.Logging.NLog/**' + - '!Extensions/Xtensive.Orm.Logging.NLog/NuGetContent/**' + - '!Extensions/Xtensive.Orm.Logging.NLog/**.csproj' + - 'Extensions/Xtensive.Orm.Logging.NLog.Tests/**' + - '!Extensions/Xtensive.Orm.Logging.NLog.Tests/**.csproj' + # main project + - 'Orm/Xtensive.Orm/Arithmetics/**' + - 'Orm/Xtensive.Orm/Caching/**' + - 'Orm/Xtensive.Orm/Collections/**' + - 'Orm/Xtensive.Orm/Comparison/**' + - 'Orm/Xtensive.Orm/Conversion/**' + - 'Orm/Xtensive.Orm/Ioc/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Tuples/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '6.0' + paths: + # extensions + - 'Extensions/Xtensive.Orm.Logging.log4net/**' + - '!Extensions/Xtensive.Orm.Logging.log4net/NuGetContent/**' + - '!Extensions/Xtensive.Orm.Logging.log4net/**.csproj' + - 'Extensions/Xtensive.Orm.Logging.log4net.Tests/**' + - '!Extensions/Xtensive.Orm.Logging.log4net.Tests/**.csproj' + - 'Extensions/Xtensive.Orm.Logging.NLog/**' + - '!Extensions/Xtensive.Orm.Logging.NLog/NuGetContent/**' + - '!Extensions/Xtensive.Orm.Logging.NLog/**.csproj' + - 'Extensions/Xtensive.Orm.Logging.NLog.Tests/**' + - '!Extensions/Xtensive.Orm.Logging.NLog.Tests/**.csproj' + # main project + - 'Orm/Xtensive.Orm/Arithmetics/**' + - 'Orm/Xtensive.Orm/Caching/**' + - 'Orm/Xtensive.Orm/Collections/**' + - 'Orm/Xtensive.Orm/Comparison/**' + - 'Orm/Xtensive.Orm/Conversion/**' + - 'Orm/Xtensive.Orm/Ioc/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Tuples/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + databaseless_tests: + name: Core Tests + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-independant-tests.yml@6.0 + with: + storage: sqlite3 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 10 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-firebird3-tests.yml b/.github/workflows/auto-firebird3-tests.yml new file mode 100644 index 000000000..b713471f4 --- /dev/null +++ b/.github/workflows/auto-firebird3-tests.yml @@ -0,0 +1,182 @@ +name: ⚙🐦🔅 Automated Firebird 3 tests +run-name: Tests on Firebird 3 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # containers + - 'Containers/firebird/do-firebird-3_0' + - 'Containers/firebird/**.sh' + - 'Containers/firebird/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Firebird/**' + - '!Orm/Xtensive.Orm.Firebird/**.csproj' + - '!Orm/Xtensive.Orm.Firebird/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/firebird/do-firebird-3_0' + - 'Containers/firebird/**.sh' + - 'Containers/firebird/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Firebird/**' + - '!Orm/Xtensive.Orm.Firebird/**.csproj' + - '!Orm/Xtensive.Orm.Firebird/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '6.0' + paths: + # containers + - 'Containers/firebird/do-firebird-3_0' + - 'Containers/firebird/**.sh' + - 'Containers/firebird/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Firebird/**' + - '!Orm/Xtensive.Orm.Firebird/**.csproj' + - '!Orm/Xtensive.Orm.Firebird/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_firebird30: + name: Tests on Firebird 3 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: firebird30 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mssql2017-tests.yml b/.github/workflows/auto-mssql2017-tests.yml new file mode 100644 index 000000000..96a4386c6 --- /dev/null +++ b/.github/workflows/auto-mssql2017-tests.yml @@ -0,0 +1,148 @@ +name: ⚙📚 Automated MS SQL Server 2017 tests +run-name: Tests on MS SQL Server 2017 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # containers + - 'Containers/mssql/do-mssql-2017' + - 'Containers/mssql/**.sh' + - 'Containers/mssql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.SqlServer/**' + - '!Orm/Xtensive.Orm.SqlServer/**.csproj' + - '!Orm/Xtensive.Orm.SqlServer/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/mssql/do-mssql-2017' + - 'Containers/mssql/**.sh' + - 'Containers/mssql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.SqlServer/**' + - '!Orm/Xtensive.Orm.SqlServer/**.csproj' + - '!Orm/Xtensive.Orm.SqlServer/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '6.0' + paths: + # containers + - 'Containers/mssql/do-mssql-2017' + - 'Containers/mssql/**.sh' + - 'Containers/mssql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.SqlServer/**' + - '!Orm/Xtensive.Orm.SqlServer/**.csproj' + - '!Orm/Xtensive.Orm.SqlServer/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mssql2017: + name: Tests on MS SQL Server 2017 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: mssql2017 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 50 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mssql2019-tests.yml b/.github/workflows/auto-mssql2019-tests.yml new file mode 100644 index 000000000..8162d4e3b --- /dev/null +++ b/.github/workflows/auto-mssql2019-tests.yml @@ -0,0 +1,173 @@ +name: ⚙📚🔅 Automated MS SQL Server 2019 tests +run-name: Tests on MS SQL Server 2019 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # containers + - 'Containers/mssql/do-mssql-2019' + - 'Containers/mssql/**.sh' + - 'Containers/mssql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + #main project + - 'Orm/Xtensive.Orm/**' + - '!Orm/Xtensive.Orm/**.csproj' + # provider + - 'Orm/Xtensive.Orm.SqlServer/**' + - '!Orm/Xtensive.Orm.SqlServer/**.csproj' + - '!Orm/Xtensive.Orm.SqlServer/NuGetContent/**' + # tests framework + - 'Orm/Xtensive.Orm.Framework/**' + - '!Orm/Xtensive.Orm.Framework/**.csproj' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/**' + - '!Orm/Xtensive.Orm.Tests/**.csproj' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # weaver changes + - 'Weaver/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/mssql/do-mssql-2019' + - 'Containers/mssql/**.sh' + - 'Containers/mssql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + #main project + - 'Orm/Xtensive.Orm/**' + - '!Orm/Xtensive.Orm/**.csproj' + # provider + - 'Orm/Xtensive.Orm.SqlServer/**' + - '!Orm/Xtensive.Orm.SqlServer/**.csproj' + - '!Orm/Xtensive.Orm.SqlServer/NuGetContent/**' + # tests framework + - 'Orm/Xtensive.Orm.Framework/**' + - '!Orm/Xtensive.Orm.Framework/**.csproj' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/**' + - '!Orm/Xtensive.Orm.Tests/**.csproj' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # weaver changes + - 'Weaver/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/mssql/do-mssql-2019' + - 'Containers/mssql/**.sh' + - 'Containers/mssql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + #main project + - 'Orm/Xtensive.Orm/**' + - '!Orm/Xtensive.Orm/**.csproj' + # provider + - 'Orm/Xtensive.Orm.SqlServer/**' + - '!Orm/Xtensive.Orm.SqlServer/**.csproj' + - '!Orm/Xtensive.Orm.SqlServer/NuGetContent/**' + # tests framework + - 'Orm/Xtensive.Orm.Framework/**' + - '!Orm/Xtensive.Orm.Framework/**.csproj' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/**' + - '!Orm/Xtensive.Orm.Tests/**.csproj' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # weaver changes + - 'Weaver/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mssql2019: + name: Tests on MS SQL Server 2019 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: mssql2019 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 50 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql55-tests.yml b/.github/workflows/auto-mysql55-tests.yml new file mode 100644 index 000000000..bcc309230 --- /dev/null +++ b/.github/workflows/auto-mysql55-tests.yml @@ -0,0 +1,147 @@ +name: ⚙🐬 Automated MySQL 5.5 tests +run-name: Tests on MySQL 5.5 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # containers + - 'Containers/mysql/do-mysql-5_5' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/mysql/do-mysql-5_5' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + pull_request_review: + branches: + - '6.0' + paths: + # containers + - 'Containers/mysql/do-mysql-5_5' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql55: + name: Tests on MySQL 5.5 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: mysql55 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql56-tests.yml b/.github/workflows/auto-mysql56-tests.yml new file mode 100644 index 000000000..32a800bb9 --- /dev/null +++ b/.github/workflows/auto-mysql56-tests.yml @@ -0,0 +1,182 @@ +name: ⚙🐬🔅 Automated MySQL 5.6 tests +run-name: Tests on MySQL 5.6 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # containers + - 'Containers/mysql/do-mysql-5_6' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/mysql/do-mysql-5_6' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '6.0' + paths: + # containers + - 'Containers/mysql/do-mysql-5_6' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql56: + name: Tests on MySQL 5.6 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: mysql56 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql100-tests.yml b/.github/workflows/auto-pgsql100-tests.yml new file mode 100644 index 000000000..7269cd8b5 --- /dev/null +++ b/.github/workflows/auto-pgsql100-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐘 Automated PostgreSQL 10.0 tests +run-name: Tests on PostgreSQL 10.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # containers + - 'Containers/postgres/do-postgres-10' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/postgres/do-postgres-10' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '6.0' + paths: + # containers + - 'Containers/postgres/do-postgres-10' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql100: + name: Tests on PostgreSQL 10.0 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: pgsql100 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql110-tests.yml b/.github/workflows/auto-pgsql110-tests.yml new file mode 100644 index 000000000..b0f8c17a3 --- /dev/null +++ b/.github/workflows/auto-pgsql110-tests.yml @@ -0,0 +1,173 @@ +name: ⚙🐘🔅 Automated PostgreSQL 11.0 tests +run-name: Tests on PostgreSQL 11.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # containers + - 'Containers/postgres/do-postgres-11' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + #main project + - 'Orm/Xtensive.Orm/**' + - '!Orm/Xtensive.Orm/**.csproj' + # provider + - 'Orm/Xtensive.Orm.PostgreSql/**' + - '!Orm/Xtensive.Orm.PostgreSql/**.csproj' + - '!Orm/Xtensive.Orm.PostgreSql/NuGetContent/**' + # tests framework + - 'Orm/Xtensive.Orm.Framework/**' + - '!Orm/Xtensive.Orm.Framework/**.csproj' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/**' + - '!Orm/Xtensive.Orm.Tests/**.csproj' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # weaver changes + - 'Weaver/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/postgres/do-postgres-11' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + #main project + - 'Orm/Xtensive.Orm/**' + - '!Orm/Xtensive.Orm/**.csproj' + # provider + - 'Orm/Xtensive.Orm.PostgreSql/**' + - '!Orm/Xtensive.Orm.PostgreSql/**.csproj' + - '!Orm/Xtensive.Orm.PostgreSql/NuGetContent/**' + # tests framework + - 'Orm/Xtensive.Orm.Framework/**' + - '!Orm/Xtensive.Orm.Framework/**.csproj' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/**' + - '!Orm/Xtensive.Orm.Tests/**.csproj' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # weaver changes + - 'Weaver/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '6.0' + paths: + # containers + - 'Containers/postgres/do-postgres-11' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + #main project + - 'Orm/Xtensive.Orm/**' + - '!Orm/Xtensive.Orm/**.csproj' + # provider + - 'Orm/Xtensive.Orm.PostgreSql/**' + - '!Orm/Xtensive.Orm.PostgreSql/**.csproj' + - '!Orm/Xtensive.Orm.PostgreSql/NuGetContent/**' + # tests framework + - 'Orm/Xtensive.Orm.Framework/**' + - '!Orm/Xtensive.Orm.Framework/**.csproj' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/**' + - '!Orm/Xtensive.Orm.Tests/**.csproj' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # weaver changes + - 'Weaver/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql110: + name: Tests on PostgreSQL 11.0 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: pgsql110 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql91-tests.yml b/.github/workflows/auto-pgsql91-tests.yml new file mode 100644 index 000000000..185777b89 --- /dev/null +++ b/.github/workflows/auto-pgsql91-tests.yml @@ -0,0 +1,147 @@ +name: ⚙🐘 Automated PostgreSQL 9.1 tests +run-name: Tests on PostgreSQL 9.1 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # containers + - 'Containers/postgres/do-postgres-9_1' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/postgres/do-postgres-9_1' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '6.0' + paths: + # containers + - 'Containers/postgres/do-postgres-9_1' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql91: + name: Tests on PostgreSQL 9.1 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: pgsql91 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql92-tests.yml b/.github/workflows/auto-pgsql92-tests.yml new file mode 100644 index 000000000..552d232bc --- /dev/null +++ b/.github/workflows/auto-pgsql92-tests.yml @@ -0,0 +1,182 @@ +name: ⚙🐘 Automated PostgreSQL 9.2 tests +run-name: Tests on PostgreSQL 9.2 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # containers + - 'Containers/postgres/do-postgres-9_2' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '6.0' + paths: + # containers + - 'Containers/postgres/do-postgres-9_2' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '6.0' + paths: + # containers + - 'Containers/postgres/do-postgres-9_2' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql92: + name: Tests on PostgreSQL 9.2 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: pgsql92 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-sqlite3-tests.yml b/.github/workflows/auto-sqlite3-tests.yml new file mode 100644 index 000000000..4159321cd --- /dev/null +++ b/.github/workflows/auto-sqlite3-tests.yml @@ -0,0 +1,172 @@ +name: ⚙🦅🔅 Automated SQLite 3 tests +run-name: Tests on SQLite 3 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths: + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Sqlite/**' + - '!Orm/Xtensive.Orm.Sqlite/**.csproj' + - '!Orm/Xtensive.Orm.Sqlite/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '6.0' + paths: + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Sqlite/**' + - '!Orm/Xtensive.Orm.Sqlite/**.csproj' + - '!Orm/Xtensive.Orm.Sqlite/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '6.0' + paths: + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Sqlite/**' + - '!Orm/Xtensive.Orm.Sqlite/**.csproj' + - '!Orm/Xtensive.Orm.Sqlite/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_sqlite3: + name: Tests on SQLite 3 + strategy: + matrix: + net: [ 'netcoreapp2.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '6.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '6.0-')) + + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + with: + storage: sqlite3 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/autobuild-on-push-and-pr.yml b/.github/workflows/autobuild-on-push-and-pr.yml new file mode 100644 index 000000000..de4ae9199 --- /dev/null +++ b/.github/workflows/autobuild-on-push-and-pr.yml @@ -0,0 +1,71 @@ +name: ⚙🏗 Automated build +run-name: Auto-build run on '${{ github.event_name }}'. Build ${{ github.run_number }} + +on: + push: + branches: + - '6.0' + - '6.0-*' + paths-ignore: + - '.github/**' + - 'ChangeLog/**' + - 'Containers/**' + - 'Documentation/**' + - '.editorconfig' + - '.gitattributes' + - '.mailmap' + - 'License.txt' + - 'ReadMe.md' + - 'User.Directory.Build.props.example' + - 'Version.props' + + pull_request: + branches: + - '6.0' + paths-ignore: + - '.github/**' + - 'ChangeLog/**' + - 'Containers/**' + - 'Documentation/**' + - '.editorconfig' + - '.gitattributes' + - '.mailmap' + - 'License.txt' + - 'ReadMe.md' + - 'User.Directory.Build.props.example' + - 'Version.props' + +env: + BUILD_CONFIG: Release + TEST_VERBOSITY: minimal + +concurrency: + # Groups will not be the same for push and pull_request events! + # If not skip jobs on condition two identical runs will happen wasting compute resources + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + + +permissions: + contents: read + +jobs: + build: + name: Build + runs-on: ubuntu-latest + timeout-minutes: 10 + #We have this filter to avoid double runs on PRs and pushes when branch fits internal branching rules + if: | + github.event_name == 'push' || + (github.event_name == 'pull_request' && + (github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name || + (github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '6.0-')))) + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Build Orm + if: ${{ success() }} + run: dotnet build Orm.sln --configuration $BUILD_CONFIG + diff --git a/.github/workflows/reusable-storage-dependant-tests.yml b/.github/workflows/reusable-storage-dependant-tests.yml index b138f1284..2d45e8603 100644 --- a/.github/workflows/reusable-storage-dependant-tests.yml +++ b/.github/workflows/reusable-storage-dependant-tests.yml @@ -58,11 +58,6 @@ on: required: false default: false type: boolean - reduced_results: - description: 'Show failed only tests' - required: false - default: false - type: boolean permissions: contents: read @@ -90,15 +85,13 @@ jobs: sudo dpkg -i libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb - name: Checkout repo (last commit) - if: ${{ inputs.specific_sha == '' || github.reg_type != 'branch' }} + if: ${{ github.event_name == 'pull_request_review' || github.event_name == 'pull_request' || inputs.specific_sha == '' || github.ref_type != 'branch' }} timeout-minutes: 1 uses: actions/checkout@v4 - with: - ref: ${{ github.ref_name }} - name: Checkout repo (last 50 commit) - if: ${{ inputs.specific_sha != '' && github.reg_type == 'branch' }} - timeout-minutes: 1 + if: ${{ github.event_name != 'pull_request_review' && github.event_name != 'pull_request' && inputs.specific_sha != '' && github.ref_type == 'branch' }} + timeout-minutes: 5 uses: actions/checkout@v4 with: ref: ${{ github.ref_name }} @@ -137,6 +130,7 @@ jobs: # Since composite action syntax does not allow to define step timeout # we have to run Reprocessing project here, because it may stuck in forever-loop - name: Test Reprocessing extension set of tests + id: reprocessing env: GA_NO_IGNORE: ${{ inputs.show_all_fails }} if: ${{ success() && inputs.run_extensions }} @@ -144,6 +138,7 @@ jobs: run: dotnet test Extensions/Xtensive.Orm.Reprocessing.Tests/Xtensive.Orm.Reprocessing.Tests.csproj -c ${{ inputs.build_config }} --no-build --logger "trx;LogFileName=Xtensive.Orm.Reprocessing.Tests.trx" --results-directory ${{ env.TEST_RESULTS_FOLDER }} -v ${{ inputs.test_output_verbosity }} - name: Run tests + id: complex_tests if: ${{ !cancelled()}} timeout-minutes: ${{ inputs.test_run_timeout }} uses: ./.github/actions/run-database-tests @@ -163,7 +158,8 @@ jobs: docker stop $(docker ps -a -q) - name: Publish raw test results as files - if: ${{ !cancelled() && inputs.publish_raw_results }} + if: | + (!cancelled() && inputs.publish_raw_results) || failure() timeout-minutes: 1 uses: actions/upload-artifact@v4 with: @@ -174,7 +170,9 @@ jobs: retention-days: 1 - name: Make Final Test report - if: ${{ !cancelled() }} + if: | + (github.event_name == 'workflow_dispatch' && (steps.reprocessing.outcome != 'cancelled' || steps.complex_tests.outcome != 'cancelled')) + || (github.event_name != 'workflow_dispatch' && (steps.reprocessing.outcome == 'failure' || steps.complex_tests.outcome == 'failure')) timeout-minutes: 1 uses: dorny/test-reporter@v2.1.1 with: diff --git a/.github/workflows/reusable-storage-independant-tests.yml b/.github/workflows/reusable-storage-independant-tests.yml index d8077086c..f326de015 100644 --- a/.github/workflows/reusable-storage-independant-tests.yml +++ b/.github/workflows/reusable-storage-independant-tests.yml @@ -43,11 +43,6 @@ on: required: false default: false type: boolean - reduced_results: - description: 'Show failed only tests' - required: false - default: false - type: boolean permissions: contents: read @@ -70,13 +65,27 @@ jobs: wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb sudo dpkg -i libssl1.0.0_1.0.2g-1ubuntu4.20_amd64.deb - - name: Checkout repo + - name: Checkout repo (last commit) + if: ${{ github.event_name == 'pull_request_review' || github.event_name == 'pull_request' || inputs.specific_sha == '' || github.ref_type != 'branch' }} timeout-minutes: 1 uses: actions/checkout@v4 + + - name: Checkout repo (last 50 commit) + if: ${{ github.event_name != 'pull_request_review' && github.event_name != 'pull_request' && inputs.specific_sha != '' && github.ref_type == 'branch' }} + timeout-minutes: 5 + uses: actions/checkout@v4 + with: + ref: ${{ github.ref_name }} + fetch-depth: 50 + + # it leads to detached HEAD, but we don't commit anything anyway + - name: Manual commit checkout if required + if: ${{ inputs.specific_sha != '' && github.reg_type == 'branch' }} + run: git checkout ${{ inputs.specific_sha }} - name: Build Orm if: ${{ success() }} - timeout-minutes: 7 + timeout-minutes: 5 run: dotnet build Orm.sln -c ${{ inputs.build_config }} - name: Setup .NETs @@ -87,6 +96,7 @@ jobs: target_framework: ${{ env.DO_TargetFrameworks }} - name: Run tests + id: complex_tests if: ${{ success() }} timeout-minutes: ${{ inputs.test_run_timeout }} uses: ./.github/actions/run-databaseless-tests @@ -99,7 +109,8 @@ jobs: run_nlog: ${{ fromJSON(inputs.run_nlog) }} - name: Publish raw test results as files - if: ${{ !cancelled() && inputs.publish_raw_results }} + if: | + (!cancelled() && inputs.publish_raw_results) || failure() timeout-minutes: 1 uses: actions/upload-artifact@v4 with: @@ -110,7 +121,9 @@ jobs: retention-days: 1 - name: Make Final Test report - if: ${{ !cancelled() }} + if: | + (github.event_name == 'workflow_dispatch' && steps.complex_tests.outcome != 'cancelled') + || (github.event_name != 'workflow_dispatch' && steps.complex_tests.outcome == 'failure') timeout-minutes: 1 uses: dorny/test-reporter@v2.1.1 with: From 84d40c68a80474f30bacdf859cbdee7e8e04b601 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 21 Oct 2025 12:05:14 +0500 Subject: [PATCH 63/75] After-merge workflows update - target .net version updated - base branch updated in various filters - ifs and branch filters - change path filters of some workflows - added new auto-test workflow --- .github/workflows/auto-databaseless-tests.yml | 16 +- .github/workflows/auto-firebird3-tests.yml | 16 +- .github/workflows/auto-mssql2017-tests.yml | 16 +- .github/workflows/auto-mssql2019-tests.yml | 16 +- .github/workflows/auto-mssql2022-tests.yml | 148 ++++++++++++++ .github/workflows/auto-mysql55-tests.yml | 16 +- .github/workflows/auto-mysql56-tests.yml | 16 +- .github/workflows/auto-pgsql100-tests.yml | 16 +- .github/workflows/auto-pgsql110-tests.yml | 108 ++++------- .github/workflows/auto-pgsql120-tests.yml | 149 ++++++++++++++ .github/workflows/auto-pgsql130-tests.yml | 149 ++++++++++++++ .github/workflows/auto-pgsql140-tests.yml | 173 +++++++++++++++++ .github/workflows/auto-pgsql91-tests.yml | 16 +- .github/workflows/auto-pgsql92-tests.yml | 49 ++--- .github/workflows/auto-pgsql96-tests.yml | 182 ++++++++++++++++++ .github/workflows/auto-sqlite3-tests.yml | 16 +- 16 files changed, 926 insertions(+), 176 deletions(-) create mode 100644 .github/workflows/auto-mssql2022-tests.yml create mode 100644 .github/workflows/auto-pgsql120-tests.yml create mode 100644 .github/workflows/auto-pgsql130-tests.yml create mode 100644 .github/workflows/auto-pgsql140-tests.yml create mode 100644 .github/workflows/auto-pgsql96-tests.yml diff --git a/.github/workflows/auto-databaseless-tests.yml b/.github/workflows/auto-databaseless-tests.yml index 5c3bb4bcb..bbb077cad 100644 --- a/.github/workflows/auto-databaseless-tests.yml +++ b/.github/workflows/auto-databaseless-tests.yml @@ -4,8 +4,8 @@ run-name: Core tests triggered by '${{ github.event_name }}'. Run No ${{ github. on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # extensions - 'Extensions/Xtensive.Orm.Logging.log4net/**' @@ -32,7 +32,7 @@ on: pull_request: branches: - - '6.0' + - '7.0' paths: # extensions - 'Extensions/Xtensive.Orm.Logging.log4net/**' @@ -59,7 +59,7 @@ on: pull_request_review: branches: - - '6.0' + - '7.0' paths: # extensions - 'Extensions/Xtensive.Orm.Logging.log4net/**' @@ -99,7 +99,7 @@ jobs: name: Core Tests strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -110,13 +110,13 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) + && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-independant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-independant-tests.yml@7.0 with: storage: sqlite3 build_config: Release diff --git a/.github/workflows/auto-firebird3-tests.yml b/.github/workflows/auto-firebird3-tests.yml index b713471f4..687d5ee71 100644 --- a/.github/workflows/auto-firebird3-tests.yml +++ b/.github/workflows/auto-firebird3-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on Firebird 3 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # containers - 'Containers/firebird/do-firebird-3_0' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/firebird/do-firebird-3_0' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/firebird/do-firebird-3_0' @@ -153,7 +153,7 @@ jobs: name: Tests on Firebird 3 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: firebird30 build_config: Release diff --git a/.github/workflows/auto-mssql2017-tests.yml b/.github/workflows/auto-mssql2017-tests.yml index 96a4386c6..3ca9592d8 100644 --- a/.github/workflows/auto-mssql2017-tests.yml +++ b/.github/workflows/auto-mssql2017-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MS SQL Server 2017 tests triggered by '${{ github.event_name on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # containers - 'Containers/mssql/do-mssql-2017' @@ -38,7 +38,7 @@ on: - 'TestFileForBuildServerTests.txt' pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/mssql/do-mssql-2017' @@ -72,7 +72,7 @@ on: pull_request_review: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/mssql/do-mssql-2017' @@ -119,7 +119,7 @@ jobs: name: Tests on MS SQL Server 2017 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -130,12 +130,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mssql2017 build_config: Release diff --git a/.github/workflows/auto-mssql2019-tests.yml b/.github/workflows/auto-mssql2019-tests.yml index 8162d4e3b..80747c589 100644 --- a/.github/workflows/auto-mssql2019-tests.yml +++ b/.github/workflows/auto-mssql2019-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MS SQL Server 2019 tests triggered by '${{ github.event_name on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # containers - 'Containers/mssql/do-mssql-2019' @@ -47,7 +47,7 @@ on: pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/mssql/do-mssql-2019' @@ -89,7 +89,7 @@ on: pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/mssql/do-mssql-2019' @@ -144,7 +144,7 @@ jobs: name: Tests on MS SQL Server 2019 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -155,12 +155,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mssql2019 build_config: Release diff --git a/.github/workflows/auto-mssql2022-tests.yml b/.github/workflows/auto-mssql2022-tests.yml new file mode 100644 index 000000000..0fb76575f --- /dev/null +++ b/.github/workflows/auto-mssql2022-tests.yml @@ -0,0 +1,148 @@ +name: ⚙📚 Automated MS SQL Server 2022 tests +run-name: Tests on MS SQL Server 2022 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.0' + - '7.0-*' + paths: + # containers + - 'Containers/mssql/do-mssql-2022' + - 'Containers/mssql/**.sh' + - 'Containers/mssql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.SqlServer/**' + - '!Orm/Xtensive.Orm.SqlServer/**.csproj' + - '!Orm/Xtensive.Orm.SqlServer/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + pull_request: + branches: + - '7.0' + paths: + # containers + - 'Containers/mssql/do-mssql-2022' + - 'Containers/mssql/**.sh' + - 'Containers/mssql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.SqlServer/**' + - '!Orm/Xtensive.Orm.SqlServer/**.csproj' + - '!Orm/Xtensive.Orm.SqlServer/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.0' + paths: + # containers + - 'Containers/mssql/do-mssql-2022' + - 'Containers/mssql/**.sh' + - 'Containers/mssql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.SqlServer/**' + - '!Orm/Xtensive.Orm.SqlServer/**.csproj' + - '!Orm/Xtensive.Orm.SqlServer/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mssql2022: + name: Tests on MS SQL Server 2022 + strategy: + matrix: + net: [ 'netcoreapp3.1' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + with: + storage: mssql2022 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 50 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql55-tests.yml b/.github/workflows/auto-mysql55-tests.yml index bcc309230..e542247a8 100644 --- a/.github/workflows/auto-mysql55-tests.yml +++ b/.github/workflows/auto-mysql55-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 5.5 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # containers - 'Containers/mysql/do-mysql-5_5' @@ -38,7 +38,7 @@ on: - 'TestFileForBuildServerTests.txt' pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/mysql/do-mysql-5_5' @@ -71,7 +71,7 @@ on: - 'TestFileForBuildServerTests.txt' pull_request_review: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/mysql/do-mysql-5_5' @@ -118,7 +118,7 @@ jobs: name: Tests on MySQL 5.5 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -129,12 +129,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mysql55 build_config: Release diff --git a/.github/workflows/auto-mysql56-tests.yml b/.github/workflows/auto-mysql56-tests.yml index 32a800bb9..27ed5c07c 100644 --- a/.github/workflows/auto-mysql56-tests.yml +++ b/.github/workflows/auto-mysql56-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 5.6 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # containers - 'Containers/mysql/do-mysql-5_6' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/mysql/do-mysql-5_6' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/mysql/do-mysql-5_6' @@ -153,7 +153,7 @@ jobs: name: Tests on MySQL 5.6 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: mysql56 build_config: Release diff --git a/.github/workflows/auto-pgsql100-tests.yml b/.github/workflows/auto-pgsql100-tests.yml index 7269cd8b5..002774eec 100644 --- a/.github/workflows/auto-pgsql100-tests.yml +++ b/.github/workflows/auto-pgsql100-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 10.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # containers - 'Containers/postgres/do-postgres-10' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/postgres/do-postgres-10' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/postgres/do-postgres-10' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 10.0 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql100 build_config: Release diff --git a/.github/workflows/auto-pgsql110-tests.yml b/.github/workflows/auto-pgsql110-tests.yml index b0f8c17a3..18e129881 100644 --- a/.github/workflows/auto-pgsql110-tests.yml +++ b/.github/workflows/auto-pgsql110-tests.yml @@ -1,35 +1,29 @@ -name: ⚙🐘🔅 Automated PostgreSQL 11.0 tests +name: ⚙🐘 Automated PostgreSQL 11.0 tests run-name: Tests on PostgreSQL 11.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # containers - 'Containers/postgres/do-postgres-11' - 'Containers/postgres/**.sh' - 'Containers/postgres/**.sql' - # extensions code only - - 'Extensions/**' - - '!Extensions/**.csproj' - - '!Extensions/**.md' - - '!Extensions/**.props' - - '!Extensions/**.snk' - #main project - - 'Orm/Xtensive.Orm/**' - - '!Orm/Xtensive.Orm/**.csproj' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' # provider - - 'Orm/Xtensive.Orm.PostgreSql/**' - - '!Orm/Xtensive.Orm.PostgreSql/**.csproj' - - '!Orm/Xtensive.Orm.PostgreSql/NuGetContent/**' - # tests framework - - 'Orm/Xtensive.Orm.Framework/**' - - '!Orm/Xtensive.Orm.Framework/**.csproj' + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' # main test project - any code change - - 'Orm/Xtensive.Orm.Tests/**' - - '!Orm/Xtensive.Orm.Tests/**.csproj' + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' # sql tests - general and provider-specific - 'Orm/Xtensive.Orm.Tests.Sql/**' - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' @@ -40,38 +34,30 @@ on: - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' - # weaver changes - - 'Weaver/**' # ability to trigger on demand - 'TestFileForBuildServerTests.txt' pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/postgres/do-postgres-11' - 'Containers/postgres/**.sh' - 'Containers/postgres/**.sql' - # extensions code only - - 'Extensions/**' - - '!Extensions/**.csproj' - - '!Extensions/**.md' - - '!Extensions/**.props' - - '!Extensions/**.snk' - #main project - - 'Orm/Xtensive.Orm/**' - - '!Orm/Xtensive.Orm/**.csproj' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' # provider - - 'Orm/Xtensive.Orm.PostgreSql/**' - - '!Orm/Xtensive.Orm.PostgreSql/**.csproj' - - '!Orm/Xtensive.Orm.PostgreSql/NuGetContent/**' - # tests framework - - 'Orm/Xtensive.Orm.Framework/**' - - '!Orm/Xtensive.Orm.Framework/**.csproj' + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' # main test project - any code change - - 'Orm/Xtensive.Orm.Tests/**' - - '!Orm/Xtensive.Orm.Tests/**.csproj' + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' # sql tests - general and provider-specific - 'Orm/Xtensive.Orm.Tests.Sql/**' - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' @@ -82,38 +68,30 @@ on: - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' - # weaver changes - - 'Weaver/**' # ability to trigger on demand - 'TestFileForBuildServerTests.txt' pull_request_review: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/postgres/do-postgres-11' - 'Containers/postgres/**.sh' - 'Containers/postgres/**.sql' - # extensions code only - - 'Extensions/**' - - '!Extensions/**.csproj' - - '!Extensions/**.md' - - '!Extensions/**.props' - - '!Extensions/**.snk' - #main project - - 'Orm/Xtensive.Orm/**' - - '!Orm/Xtensive.Orm/**.csproj' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' # provider - - 'Orm/Xtensive.Orm.PostgreSql/**' - - '!Orm/Xtensive.Orm.PostgreSql/**.csproj' - - '!Orm/Xtensive.Orm.PostgreSql/NuGetContent/**' - # tests framework - - 'Orm/Xtensive.Orm.Framework/**' - - '!Orm/Xtensive.Orm.Framework/**.csproj' + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' # main test project - any code change - - 'Orm/Xtensive.Orm.Tests/**' - - '!Orm/Xtensive.Orm.Tests/**.csproj' + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' # sql tests - general and provider-specific - 'Orm/Xtensive.Orm.Tests.Sql/**' - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' @@ -124,8 +102,6 @@ on: - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' - # weaver changes - - 'Weaver/**' # ability to trigger on demand - 'TestFileForBuildServerTests.txt' @@ -144,7 +120,7 @@ jobs: name: Tests on PostgreSQL 11.0 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -155,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql110 build_config: Release diff --git a/.github/workflows/auto-pgsql120-tests.yml b/.github/workflows/auto-pgsql120-tests.yml new file mode 100644 index 000000000..b68831d26 --- /dev/null +++ b/.github/workflows/auto-pgsql120-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐘 Automated PostgreSQL 12.0 tests +run-name: Tests on PostgreSQL 12.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.0' + - '7.0-*' + paths: + # containers + - 'Containers/postgres/do-postgres-12' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.0' + paths: + # containers + - 'Containers/postgres/do-postgres-12' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.0' + paths: + # containers + - 'Containers/postgres/do-postgres-12' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql120: + name: Tests on PostgreSQL 12.0 + strategy: + matrix: + net: [ 'netcoreapp3.1' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + with: + storage: pgsql120 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql130-tests.yml b/.github/workflows/auto-pgsql130-tests.yml new file mode 100644 index 000000000..26535af8a --- /dev/null +++ b/.github/workflows/auto-pgsql130-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐘 Automated PostgreSQL 13.0 tests +run-name: Tests on PostgreSQL 13.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.0' + - '7.0-*' + paths: + # containers + - 'Containers/postgres/do-postgres-13' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.0' + paths: + # containers + - 'Containers/postgres/do-postgres-13' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.0' + paths: + # containers + - 'Containers/postgres/do-postgres-13' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql130: + name: Tests on PostgreSQL 13.0 + strategy: + matrix: + net: [ 'netcoreapp3.1' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + with: + storage: pgsql130 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql140-tests.yml b/.github/workflows/auto-pgsql140-tests.yml new file mode 100644 index 000000000..394eb0752 --- /dev/null +++ b/.github/workflows/auto-pgsql140-tests.yml @@ -0,0 +1,173 @@ +name: ⚙🐘🔅 Automated PostgreSQL 14.0 tests +run-name: Tests on PostgreSQL 14.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.0' + - '7.0-*' + paths: + # containers + - 'Containers/postgres/do-postgres-14' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + #main project + - 'Orm/Xtensive.Orm/**' + - '!Orm/Xtensive.Orm/**.csproj' + # provider + - 'Orm/Xtensive.Orm.PostgreSql/**' + - '!Orm/Xtensive.Orm.PostgreSql/**.csproj' + - '!Orm/Xtensive.Orm.PostgreSql/NuGetContent/**' + # tests framework + - 'Orm/Xtensive.Orm.Framework/**' + - '!Orm/Xtensive.Orm.Framework/**.csproj' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/**' + - '!Orm/Xtensive.Orm.Tests/**.csproj' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # weaver changes + - 'Weaver/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.0' + paths: + # containers + - 'Containers/postgres/do-postgres-14' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + #main project + - 'Orm/Xtensive.Orm/**' + - '!Orm/Xtensive.Orm/**.csproj' + # provider + - 'Orm/Xtensive.Orm.PostgreSql/**' + - '!Orm/Xtensive.Orm.PostgreSql/**.csproj' + - '!Orm/Xtensive.Orm.PostgreSql/NuGetContent/**' + # tests framework + - 'Orm/Xtensive.Orm.Framework/**' + - '!Orm/Xtensive.Orm.Framework/**.csproj' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/**' + - '!Orm/Xtensive.Orm.Tests/**.csproj' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # weaver changes + - 'Weaver/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.0' + paths: + # containers + - 'Containers/postgres/do-postgres-14' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + #main project + - 'Orm/Xtensive.Orm/**' + - '!Orm/Xtensive.Orm/**.csproj' + # provider + - 'Orm/Xtensive.Orm.PostgreSql/**' + - '!Orm/Xtensive.Orm.PostgreSql/**.csproj' + - '!Orm/Xtensive.Orm.PostgreSql/NuGetContent/**' + # tests framework + - 'Orm/Xtensive.Orm.Framework/**' + - '!Orm/Xtensive.Orm.Framework/**.csproj' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/**' + - '!Orm/Xtensive.Orm.Tests/**.csproj' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # weaver changes + - 'Weaver/**' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql140: + name: Tests on PostgreSQL 14.0 + strategy: + matrix: + net: [ 'netcoreapp3.1' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + with: + storage: pgsql140 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql91-tests.yml b/.github/workflows/auto-pgsql91-tests.yml index 185777b89..a6c4d4ea3 100644 --- a/.github/workflows/auto-pgsql91-tests.yml +++ b/.github/workflows/auto-pgsql91-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 9.1 tests triggered by '${{ github.event_name }}'. on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # containers - 'Containers/postgres/do-postgres-9_1' @@ -38,7 +38,7 @@ on: - 'TestFileForBuildServerTests.txt' pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/postgres/do-postgres-9_1' @@ -72,7 +72,7 @@ on: pull_request_review: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/postgres/do-postgres-9_1' @@ -118,7 +118,7 @@ jobs: name: Tests on PostgreSQL 9.1 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -129,12 +129,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql91 build_config: Release diff --git a/.github/workflows/auto-pgsql92-tests.yml b/.github/workflows/auto-pgsql92-tests.yml index 552d232bc..8f414fb1a 100644 --- a/.github/workflows/auto-pgsql92-tests.yml +++ b/.github/workflows/auto-pgsql92-tests.yml @@ -4,34 +4,23 @@ run-name: Tests on PostgreSQL 9.2 tests triggered by '${{ github.event_name }}'. on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # containers - 'Containers/postgres/do-postgres-9_2' - 'Containers/postgres/**.sh' - 'Containers/postgres/**.sql' - # extensions code only - - 'Extensions/**' - - '!Extensions/**.csproj' - - '!Extensions/**.md' - - '!Extensions/**.props' - - '!Extensions/**.snk' # main project - most common part, that may have changes that affect - - 'Orm/Xtensive.Orm/Orm/Attributes/**' - - 'Orm/Xtensive.Orm/Orm/Building/**' - - 'Orm/Xtensive.Orm/Orm/Linq/**' - - 'Orm/Xtensive.Orm/Orm/Metadata/**' - 'Orm/Xtensive.Orm/Orm/Providers/**' - 'Orm/Xtensive.Orm/Orm/Rse/**' - 'Orm/Xtensive.Orm/Orm/Upgrade/**' - - 'Orm/Xtensive.Orm/Reflection/**' - 'Orm/Xtensive.Orm/Sql/**' # provider - 'Orm/Xtensive.Orm.MySql/**' - '!Orm/Xtensive.Orm.MySql/**.csproj' - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' - # main test project - only most significant parts + # main test project - any code change - 'Orm/Xtensive.Orm.Tests/Issues/**' - 'Orm/Xtensive.Orm.Tests/Storage/**' - 'Orm/Xtensive.Orm.Tests/Upgrade/**' @@ -50,7 +39,7 @@ on: pull_request: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/postgres/do-postgres-9_2' @@ -63,20 +52,15 @@ on: - '!Extensions/**.props' - '!Extensions/**.snk' # main project - most common part, that may have changes that affect - - 'Orm/Xtensive.Orm/Orm/Attributes/**' - - 'Orm/Xtensive.Orm/Orm/Building/**' - - 'Orm/Xtensive.Orm/Orm/Linq/**' - - 'Orm/Xtensive.Orm/Orm/Metadata/**' - 'Orm/Xtensive.Orm/Orm/Providers/**' - 'Orm/Xtensive.Orm/Orm/Rse/**' - 'Orm/Xtensive.Orm/Orm/Upgrade/**' - - 'Orm/Xtensive.Orm/Reflection/**' - 'Orm/Xtensive.Orm/Sql/**' # provider - 'Orm/Xtensive.Orm.MySql/**' - '!Orm/Xtensive.Orm.MySql/**.csproj' - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' - # main test project - only most significant parts + # main test project - any code change - 'Orm/Xtensive.Orm.Tests/Issues/**' - 'Orm/Xtensive.Orm.Tests/Storage/**' - 'Orm/Xtensive.Orm.Tests/Upgrade/**' @@ -95,33 +79,22 @@ on: pull_request_review: branches: - - '6.0' + - '7.0' paths: # containers - 'Containers/postgres/do-postgres-9_2' - 'Containers/postgres/**.sh' - 'Containers/postgres/**.sql' - # extensions code only - - 'Extensions/**' - - '!Extensions/**.csproj' - - '!Extensions/**.md' - - '!Extensions/**.props' - - '!Extensions/**.snk' # main project - most common part, that may have changes that affect - - 'Orm/Xtensive.Orm/Orm/Attributes/**' - - 'Orm/Xtensive.Orm/Orm/Building/**' - - 'Orm/Xtensive.Orm/Orm/Linq/**' - - 'Orm/Xtensive.Orm/Orm/Metadata/**' - 'Orm/Xtensive.Orm/Orm/Providers/**' - 'Orm/Xtensive.Orm/Orm/Rse/**' - 'Orm/Xtensive.Orm/Orm/Upgrade/**' - - 'Orm/Xtensive.Orm/Reflection/**' - 'Orm/Xtensive.Orm/Sql/**' # provider - 'Orm/Xtensive.Orm.MySql/**' - '!Orm/Xtensive.Orm.MySql/**.csproj' - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' - # main test project - only most significant parts + # main test project - any code change - 'Orm/Xtensive.Orm.Tests/Issues/**' - 'Orm/Xtensive.Orm.Tests/Storage/**' - 'Orm/Xtensive.Orm.Tests/Upgrade/**' @@ -153,7 +126,7 @@ jobs: name: Tests on PostgreSQL 9.2 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +137,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: pgsql92 build_config: Release diff --git a/.github/workflows/auto-pgsql96-tests.yml b/.github/workflows/auto-pgsql96-tests.yml new file mode 100644 index 000000000..6eed36bc2 --- /dev/null +++ b/.github/workflows/auto-pgsql96-tests.yml @@ -0,0 +1,182 @@ +name: ⚙🐘 Automated PostgreSQL 9.6 tests +run-name: Tests on PostgreSQL 9.6 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.0' + - '7.0-*' + paths: + # containers + - 'Containers/postgres/do-postgres-9_6' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.0' + paths: + # containers + - 'Containers/postgres/do-postgres-9_6' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.0' + paths: + # containers + - 'Containers/postgres/do-postgres-9_6' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql96: + name: Tests on PostgreSQL 9.6 + strategy: + matrix: + net: [ 'netcoreapp3.1' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.0') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.0-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + with: + storage: pgsql96 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-sqlite3-tests.yml b/.github/workflows/auto-sqlite3-tests.yml index 4159321cd..76c3401b7 100644 --- a/.github/workflows/auto-sqlite3-tests.yml +++ b/.github/workflows/auto-sqlite3-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on SQLite 3 tests triggered by '${{ github.event_name }}'. Run N on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths: # extensions code only - 'Extensions/**' @@ -46,7 +46,7 @@ on: pull_request: branches: - - '6.0' + - '7.0' paths: # extensions code only - 'Extensions/**' @@ -87,7 +87,7 @@ on: pull_request_review: branches: - - '6.0' + - '7.0' paths: # extensions code only - 'Extensions/**' @@ -142,7 +142,7 @@ jobs: name: Tests on SQLite 3 strategy: matrix: - net: [ 'netcoreapp2.0' ] + net: [ 'netcoreapp3.1' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -153,13 +153,13 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '6.0') + && startsWith(github.event.pull_request.base.ref, '7.0') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '6.0-')) + && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@6.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 with: storage: sqlite3 build_config: Release From 400573351a40af0491a9f4a302faa7f66348c44c Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 21 Oct 2025 12:12:01 +0500 Subject: [PATCH 64/75] Fix wrong trigger in workflow --- .github/workflows/auto-mssql2019-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-mssql2019-tests.yml b/.github/workflows/auto-mssql2019-tests.yml index 8162d4e3b..92a8abee1 100644 --- a/.github/workflows/auto-mssql2019-tests.yml +++ b/.github/workflows/auto-mssql2019-tests.yml @@ -87,7 +87,7 @@ on: # ability to trigger on demand - 'TestFileForBuildServerTests.txt' - pull_request: + pull_request_review: branches: - '6.0' paths: From ea694fe6ae71339610b11b95a6d804f6d77351e0 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 21 Oct 2025 13:03:34 +0500 Subject: [PATCH 65/75] Update branch filters --- .github/workflows/autobuild-on-push-and-pr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/autobuild-on-push-and-pr.yml b/.github/workflows/autobuild-on-push-and-pr.yml index de4ae9199..214fad353 100644 --- a/.github/workflows/autobuild-on-push-and-pr.yml +++ b/.github/workflows/autobuild-on-push-and-pr.yml @@ -4,8 +4,8 @@ run-name: Auto-build run on '${{ github.event_name }}'. Build ${{ github.run_num on: push: branches: - - '6.0' - - '6.0-*' + - '7.0' + - '7.0-*' paths-ignore: - '.github/**' - 'ChangeLog/**' @@ -21,7 +21,7 @@ on: pull_request: branches: - - '6.0' + - '7.0' paths-ignore: - '.github/**' - 'ChangeLog/**' @@ -59,7 +59,7 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request' && (github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name || - (github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '6.0-')))) + (github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.0-')))) steps: - name: Checkout repo From e76c6b2e705bfc869794f7923d385ac7b4b75c53 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 21 Oct 2025 18:13:30 +0500 Subject: [PATCH 66/75] Workflow updates to meet 7.1 branch needs --- .github/workflows/auto-databaseless-tests.yml | 16 +- .github/workflows/auto-firebird3-tests.yml | 18 +- .github/workflows/auto-firebird4-tests.yml | 149 ++++++++++++++ .github/workflows/auto-firebird5-tests.yml | 182 ++++++++++++++++++ .github/workflows/auto-mssql2017-tests.yml | 16 +- .github/workflows/auto-mssql2019-tests.yml | 16 +- .github/workflows/auto-mssql2022-tests.yml | 16 +- .github/workflows/auto-mysql56-tests.yml | 69 ++----- .github/workflows/auto-mysql57-tests.yml | 179 +++++++++++++++++ .github/workflows/auto-mysql80-tests.yml | 182 ++++++++++++++++++ .github/workflows/auto-mysql81-tests.yml | 149 ++++++++++++++ .github/workflows/auto-mysql82-tests.yml | 149 ++++++++++++++ .github/workflows/auto-mysql83-tests.yml | 149 ++++++++++++++ .github/workflows/auto-mysql84-tests.yml | 149 ++++++++++++++ .github/workflows/auto-mysql90-tests.yml | 182 ++++++++++++++++++ .github/workflows/auto-mysql91-tests.yml | 149 ++++++++++++++ .github/workflows/auto-mysql92-tests.yml | 149 ++++++++++++++ .github/workflows/auto-mysql93-tests.yml | 149 ++++++++++++++ .github/workflows/auto-pgsql100-tests.yml | 16 +- .github/workflows/auto-pgsql110-tests.yml | 16 +- .github/workflows/auto-pgsql120-tests.yml | 16 +- .github/workflows/auto-pgsql130-tests.yml | 16 +- .github/workflows/auto-pgsql140-tests.yml | 16 +- .github/workflows/auto-pgsql150-tests.yml | 149 ++++++++++++++ .github/workflows/auto-pgsql160-tests.yml | 149 ++++++++++++++ .github/workflows/auto-pgsql170-tests.yml | 182 ++++++++++++++++++ .github/workflows/auto-pgsql91-tests.yml | 18 +- .github/workflows/auto-pgsql92-tests.yml | 22 +-- .github/workflows/auto-pgsql96-tests.yml | 18 +- .github/workflows/auto-sqlite3-tests.yml | 16 +- .../workflows/autobuild-on-push-and-pr.yml | 8 +- 31 files changed, 2535 insertions(+), 175 deletions(-) create mode 100644 .github/workflows/auto-firebird4-tests.yml create mode 100644 .github/workflows/auto-firebird5-tests.yml create mode 100644 .github/workflows/auto-mysql57-tests.yml create mode 100644 .github/workflows/auto-mysql80-tests.yml create mode 100644 .github/workflows/auto-mysql81-tests.yml create mode 100644 .github/workflows/auto-mysql82-tests.yml create mode 100644 .github/workflows/auto-mysql83-tests.yml create mode 100644 .github/workflows/auto-mysql84-tests.yml create mode 100644 .github/workflows/auto-mysql90-tests.yml create mode 100644 .github/workflows/auto-mysql91-tests.yml create mode 100644 .github/workflows/auto-mysql92-tests.yml create mode 100644 .github/workflows/auto-mysql93-tests.yml create mode 100644 .github/workflows/auto-pgsql150-tests.yml create mode 100644 .github/workflows/auto-pgsql160-tests.yml create mode 100644 .github/workflows/auto-pgsql170-tests.yml diff --git a/.github/workflows/auto-databaseless-tests.yml b/.github/workflows/auto-databaseless-tests.yml index bbb077cad..fbf429761 100644 --- a/.github/workflows/auto-databaseless-tests.yml +++ b/.github/workflows/auto-databaseless-tests.yml @@ -4,8 +4,8 @@ run-name: Core tests triggered by '${{ github.event_name }}'. Run No ${{ github. on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # extensions - 'Extensions/Xtensive.Orm.Logging.log4net/**' @@ -32,7 +32,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # extensions - 'Extensions/Xtensive.Orm.Logging.log4net/**' @@ -59,7 +59,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # extensions - 'Extensions/Xtensive.Orm.Logging.log4net/**' @@ -99,7 +99,7 @@ jobs: name: Core Tests strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net5.0', 'net6.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -110,13 +110,13 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) + && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-independant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-independant-tests.yml@7.1 with: storage: sqlite3 build_config: Release diff --git a/.github/workflows/auto-firebird3-tests.yml b/.github/workflows/auto-firebird3-tests.yml index 687d5ee71..75daddf98 100644 --- a/.github/workflows/auto-firebird3-tests.yml +++ b/.github/workflows/auto-firebird3-tests.yml @@ -1,11 +1,11 @@ -name: ⚙🐦🔅 Automated Firebird 3 tests +name: ⚙🐦 Automated Firebird 3 tests run-name: Tests on Firebird 3 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/firebird/do-firebird-3_0' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/firebird/do-firebird-3_0' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/firebird/do-firebird-3_0' @@ -153,7 +153,7 @@ jobs: name: Tests on Firebird 3 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net5.0', 'net6.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: firebird30 build_config: Release diff --git a/.github/workflows/auto-firebird4-tests.yml b/.github/workflows/auto-firebird4-tests.yml new file mode 100644 index 000000000..b16964eb9 --- /dev/null +++ b/.github/workflows/auto-firebird4-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐦 Automated Firebird 4 tests +run-name: Tests on Firebird 4 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/firebird/do-firebird-4_0' + - 'Containers/firebird/**.sh' + - 'Containers/firebird/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Firebird/**' + - '!Orm/Xtensive.Orm.Firebird/**.csproj' + - '!Orm/Xtensive.Orm.Firebird/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/firebird/do-firebird-4_0' + - 'Containers/firebird/**.sh' + - 'Containers/firebird/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Firebird/**' + - '!Orm/Xtensive.Orm.Firebird/**.csproj' + - '!Orm/Xtensive.Orm.Firebird/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/firebird/do-firebird-4_0' + - 'Containers/firebird/**.sh' + - 'Containers/firebird/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Firebird/**' + - '!Orm/Xtensive.Orm.Firebird/**.csproj' + - '!Orm/Xtensive.Orm.Firebird/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_firebird40: + name: Tests on Firebird 4 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: firebird40 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-firebird5-tests.yml b/.github/workflows/auto-firebird5-tests.yml new file mode 100644 index 000000000..f6fd98dcd --- /dev/null +++ b/.github/workflows/auto-firebird5-tests.yml @@ -0,0 +1,182 @@ +name: ⚙🐦 Automated Firebird 5 tests +run-name: Tests on Firebird 5 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/firebird/do-firebird-5_0' + - 'Containers/firebird/**.sh' + - 'Containers/firebird/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Firebird/**' + - '!Orm/Xtensive.Orm.Firebird/**.csproj' + - '!Orm/Xtensive.Orm.Firebird/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/firebird/do-firebird-5_0' + - 'Containers/firebird/**.sh' + - 'Containers/firebird/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Firebird/**' + - '!Orm/Xtensive.Orm.Firebird/**.csproj' + - '!Orm/Xtensive.Orm.Firebird/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/firebird/do-firebird-5_0' + - 'Containers/firebird/**.sh' + - 'Containers/firebird/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.Firebird/**' + - '!Orm/Xtensive.Orm.Firebird/**.csproj' + - '!Orm/Xtensive.Orm.Firebird/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_firebird50: + name: Tests on Firebird 5 + strategy: + matrix: + net: [ 'net5.0', 'net6.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: firebird50 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mssql2017-tests.yml b/.github/workflows/auto-mssql2017-tests.yml index 3ca9592d8..ce5fd56d5 100644 --- a/.github/workflows/auto-mssql2017-tests.yml +++ b/.github/workflows/auto-mssql2017-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MS SQL Server 2017 tests triggered by '${{ github.event_name on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/mssql/do-mssql-2017' @@ -38,7 +38,7 @@ on: - 'TestFileForBuildServerTests.txt' pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/mssql/do-mssql-2017' @@ -72,7 +72,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/mssql/do-mssql-2017' @@ -119,7 +119,7 @@ jobs: name: Tests on MS SQL Server 2017 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net5.0', 'net6.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -130,12 +130,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mssql2017 build_config: Release diff --git a/.github/workflows/auto-mssql2019-tests.yml b/.github/workflows/auto-mssql2019-tests.yml index cd695656a..44e9c972c 100644 --- a/.github/workflows/auto-mssql2019-tests.yml +++ b/.github/workflows/auto-mssql2019-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MS SQL Server 2019 tests triggered by '${{ github.event_name on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/mssql/do-mssql-2019' @@ -47,7 +47,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/mssql/do-mssql-2019' @@ -89,7 +89,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/mssql/do-mssql-2019' @@ -144,7 +144,7 @@ jobs: name: Tests on MS SQL Server 2019 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net5.0', 'net6.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -155,12 +155,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mssql2019 build_config: Release diff --git a/.github/workflows/auto-mssql2022-tests.yml b/.github/workflows/auto-mssql2022-tests.yml index 0fb76575f..db22c10dc 100644 --- a/.github/workflows/auto-mssql2022-tests.yml +++ b/.github/workflows/auto-mssql2022-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MS SQL Server 2022 tests triggered by '${{ github.event_name on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/mssql/do-mssql-2022' @@ -38,7 +38,7 @@ on: - 'TestFileForBuildServerTests.txt' pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/mssql/do-mssql-2022' @@ -72,7 +72,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/mssql/do-mssql-2022' @@ -119,7 +119,7 @@ jobs: name: Tests on MS SQL Server 2022 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net5.0', 'net6.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -130,12 +130,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mssql2022 build_config: Release diff --git a/.github/workflows/auto-mysql56-tests.yml b/.github/workflows/auto-mysql56-tests.yml index 27ed5c07c..2e138c1c0 100644 --- a/.github/workflows/auto-mysql56-tests.yml +++ b/.github/workflows/auto-mysql56-tests.yml @@ -1,37 +1,26 @@ -name: ⚙🐬🔅 Automated MySQL 5.6 tests +name: ⚙🐬 Automated MySQL 5.6 tests run-name: Tests on MySQL 5.6 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/mysql/do-mysql-5_6' - 'Containers/mysql/**.sh' - 'Containers/mysql/**.sql' - # extensions code only - - 'Extensions/**' - - '!Extensions/**.csproj' - - '!Extensions/**.md' - - '!Extensions/**.props' - - '!Extensions/**.snk' # main project - most common part, that may have changes that affect - - 'Orm/Xtensive.Orm/Orm/Attributes/**' - - 'Orm/Xtensive.Orm/Orm/Building/**' - - 'Orm/Xtensive.Orm/Orm/Linq/**' - - 'Orm/Xtensive.Orm/Orm/Metadata/**' - 'Orm/Xtensive.Orm/Orm/Providers/**' - 'Orm/Xtensive.Orm/Orm/Rse/**' - 'Orm/Xtensive.Orm/Orm/Upgrade/**' - - 'Orm/Xtensive.Orm/Reflection/**' - 'Orm/Xtensive.Orm/Sql/**' - # provider + #provider - 'Orm/Xtensive.Orm.MySql/**' - '!Orm/Xtensive.Orm.MySql/**.csproj' - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' - # main test project - only most significant parts + # main test project - any code change - 'Orm/Xtensive.Orm.Tests/Issues/**' - 'Orm/Xtensive.Orm.Tests/Storage/**' - 'Orm/Xtensive.Orm.Tests/Upgrade/**' @@ -40,7 +29,7 @@ on: - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' - - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' @@ -50,33 +39,22 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/mysql/do-mysql-5_6' - 'Containers/mysql/**.sh' - 'Containers/mysql/**.sql' - # extensions code only - - 'Extensions/**' - - '!Extensions/**.csproj' - - '!Extensions/**.md' - - '!Extensions/**.props' - - '!Extensions/**.snk' # main project - most common part, that may have changes that affect - - 'Orm/Xtensive.Orm/Orm/Attributes/**' - - 'Orm/Xtensive.Orm/Orm/Building/**' - - 'Orm/Xtensive.Orm/Orm/Linq/**' - - 'Orm/Xtensive.Orm/Orm/Metadata/**' - 'Orm/Xtensive.Orm/Orm/Providers/**' - 'Orm/Xtensive.Orm/Orm/Rse/**' - 'Orm/Xtensive.Orm/Orm/Upgrade/**' - - 'Orm/Xtensive.Orm/Reflection/**' - 'Orm/Xtensive.Orm/Sql/**' - # provider + #provider - 'Orm/Xtensive.Orm.MySql/**' - '!Orm/Xtensive.Orm.MySql/**.csproj' - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' - # main test project - only most significant parts + # main test project - any code change - 'Orm/Xtensive.Orm.Tests/Issues/**' - 'Orm/Xtensive.Orm.Tests/Storage/**' - 'Orm/Xtensive.Orm.Tests/Upgrade/**' @@ -85,7 +63,7 @@ on: - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' - - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' @@ -95,33 +73,22 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/mysql/do-mysql-5_6' - 'Containers/mysql/**.sh' - 'Containers/mysql/**.sql' - # extensions code only - - 'Extensions/**' - - '!Extensions/**.csproj' - - '!Extensions/**.md' - - '!Extensions/**.props' - - '!Extensions/**.snk' # main project - most common part, that may have changes that affect - - 'Orm/Xtensive.Orm/Orm/Attributes/**' - - 'Orm/Xtensive.Orm/Orm/Building/**' - - 'Orm/Xtensive.Orm/Orm/Linq/**' - - 'Orm/Xtensive.Orm/Orm/Metadata/**' - 'Orm/Xtensive.Orm/Orm/Providers/**' - 'Orm/Xtensive.Orm/Orm/Rse/**' - 'Orm/Xtensive.Orm/Orm/Upgrade/**' - - 'Orm/Xtensive.Orm/Reflection/**' - 'Orm/Xtensive.Orm/Sql/**' - # provider + #provider - 'Orm/Xtensive.Orm.MySql/**' - '!Orm/Xtensive.Orm.MySql/**.csproj' - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' - # main test project - only most significant parts + # main test project - any code change - 'Orm/Xtensive.Orm.Tests/Issues/**' - 'Orm/Xtensive.Orm.Tests/Storage/**' - 'Orm/Xtensive.Orm.Tests/Upgrade/**' @@ -130,7 +97,7 @@ on: - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' - - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' @@ -153,7 +120,7 @@ jobs: name: Tests on MySQL 5.6 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net6.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql56 build_config: Release diff --git a/.github/workflows/auto-mysql57-tests.yml b/.github/workflows/auto-mysql57-tests.yml new file mode 100644 index 000000000..143b2cc74 --- /dev/null +++ b/.github/workflows/auto-mysql57-tests.yml @@ -0,0 +1,179 @@ +name: ⚙🐬🔅 Automated MySQL 5.7 tests +run-name: Tests on MySQL 5.7 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + - 'Containers/mysql/do-mysql-5_7' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.cnf' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + - 'Containers/mysql/do-mysql-5_7' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.cnf' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + - 'Containers/mysql/do-mysql-5_7' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.cnf' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql57: + name: Tests on MySQL 5.7 + strategy: + matrix: + net: [ 'net5.0', 'net6.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql57 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql80-tests.yml b/.github/workflows/auto-mysql80-tests.yml new file mode 100644 index 000000000..d1ef96456 --- /dev/null +++ b/.github/workflows/auto-mysql80-tests.yml @@ -0,0 +1,182 @@ +name: ⚙🐬🔅 Automated MySQL 8.0 tests +run-name: Tests on MySQL 8.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/mysql/do-mysql-8_0' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_0' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_0' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql80: + name: Tests on MySQL 8.0 + strategy: + matrix: + net: [ 'net5.0', 'net6.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql80 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql81-tests.yml b/.github/workflows/auto-mysql81-tests.yml new file mode 100644 index 000000000..9197bb775 --- /dev/null +++ b/.github/workflows/auto-mysql81-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐬 Automated MySQL 8.1 tests +run-name: Tests on MySQL 8.1 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/mysql/do-mysql-8_1' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_1' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_1' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql81: + name: Tests on MySQL 8.1 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql81 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql82-tests.yml b/.github/workflows/auto-mysql82-tests.yml new file mode 100644 index 000000000..b59fa40b5 --- /dev/null +++ b/.github/workflows/auto-mysql82-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐬 Automated MySQL 8.2 tests +run-name: Tests on MySQL 8.2 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/mysql/do-mysql-8_2' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_2' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_2' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql82: + name: Tests on MySQL 8.2 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql82 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql83-tests.yml b/.github/workflows/auto-mysql83-tests.yml new file mode 100644 index 000000000..7e703265c --- /dev/null +++ b/.github/workflows/auto-mysql83-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐬 Automated MySQL 8.3 tests +run-name: Tests on MySQL 8.3 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/mysql/do-mysql-8_3' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_3' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_3' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql83: + name: Tests on MySQL 8.3 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql83 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql84-tests.yml b/.github/workflows/auto-mysql84-tests.yml new file mode 100644 index 000000000..d9b41cc4c --- /dev/null +++ b/.github/workflows/auto-mysql84-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐬 Automated MySQL 8.4 tests +run-name: Tests on MySQL 8.4 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/mysql/do-mysql-8_4' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_4' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-8_4' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql84: + name: Tests on MySQL 8.4 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql84 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql90-tests.yml b/.github/workflows/auto-mysql90-tests.yml new file mode 100644 index 000000000..082f0cae6 --- /dev/null +++ b/.github/workflows/auto-mysql90-tests.yml @@ -0,0 +1,182 @@ +name: ⚙🐬🔅 Automated MySQL 9.0 tests +run-name: Tests on MySQL 9.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/mysql/do-mysql-9_0' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-9_0' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-9_0' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql90: + name: Tests on MySQL 9.0 + strategy: + matrix: + net: [ 'net5.0', 'net6.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql90 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql91-tests.yml b/.github/workflows/auto-mysql91-tests.yml new file mode 100644 index 000000000..443e3d2de --- /dev/null +++ b/.github/workflows/auto-mysql91-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐬 Automated MySQL 9.1 tests +run-name: Tests on MySQL 9.1 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/mysql/do-mysql-9_1' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-9_1' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-9_1' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql91: + name: Tests on MySQL 9.1 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql91 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql92-tests.yml b/.github/workflows/auto-mysql92-tests.yml new file mode 100644 index 000000000..640d9d9ac --- /dev/null +++ b/.github/workflows/auto-mysql92-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐬 Automated MySQL 9.2 tests +run-name: Tests on MySQL 9.2 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/mysql/do-mysql-9_2' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-9_2' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-9_2' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql92: + name: Tests on MySQL 9.2 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql92 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-mysql93-tests.yml b/.github/workflows/auto-mysql93-tests.yml new file mode 100644 index 000000000..88acf50e6 --- /dev/null +++ b/.github/workflows/auto-mysql93-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐬 Automated MySQL 9.3 tests +run-name: Tests on MySQL 9.3 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/mysql/do-mysql-9_3' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-9_3' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/mysql/do-mysql-9_3' + - 'Containers/mysql/**.sh' + - 'Containers/mysql/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + #provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_mysql93: + name: Tests on MySQL 9.3 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: mysql93 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql100-tests.yml b/.github/workflows/auto-pgsql100-tests.yml index 002774eec..3dfc00284 100644 --- a/.github/workflows/auto-pgsql100-tests.yml +++ b/.github/workflows/auto-pgsql100-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 10.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/postgres/do-postgres-10' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-10' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-10' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 10.0 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net6.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql100 build_config: Release diff --git a/.github/workflows/auto-pgsql110-tests.yml b/.github/workflows/auto-pgsql110-tests.yml index 18e129881..381a962a8 100644 --- a/.github/workflows/auto-pgsql110-tests.yml +++ b/.github/workflows/auto-pgsql110-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 11.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/postgres/do-postgres-11' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-11' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-11' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 11.0 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net6.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql110 build_config: Release diff --git a/.github/workflows/auto-pgsql120-tests.yml b/.github/workflows/auto-pgsql120-tests.yml index b68831d26..616dd2a46 100644 --- a/.github/workflows/auto-pgsql120-tests.yml +++ b/.github/workflows/auto-pgsql120-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 12.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/postgres/do-postgres-12' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-12' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-12' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 12.0 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net6.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql120 build_config: Release diff --git a/.github/workflows/auto-pgsql130-tests.yml b/.github/workflows/auto-pgsql130-tests.yml index 26535af8a..def02969c 100644 --- a/.github/workflows/auto-pgsql130-tests.yml +++ b/.github/workflows/auto-pgsql130-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 13.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/postgres/do-postgres-13' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-13' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-13' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 13.0 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net6.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql130 build_config: Release diff --git a/.github/workflows/auto-pgsql140-tests.yml b/.github/workflows/auto-pgsql140-tests.yml index 394eb0752..4b8296ba9 100644 --- a/.github/workflows/auto-pgsql140-tests.yml +++ b/.github/workflows/auto-pgsql140-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 14.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/postgres/do-postgres-14' @@ -47,7 +47,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-14' @@ -89,7 +89,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-14' @@ -144,7 +144,7 @@ jobs: name: Tests on PostgreSQL 14.0 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net5.0', 'net6.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -155,12 +155,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql140 build_config: Release diff --git a/.github/workflows/auto-pgsql150-tests.yml b/.github/workflows/auto-pgsql150-tests.yml new file mode 100644 index 000000000..986003b09 --- /dev/null +++ b/.github/workflows/auto-pgsql150-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐘 Automated PostgreSQL 15.0 tests +run-name: Tests on PostgreSQL 15.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/postgres/do-postgres-15' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/postgres/do-postgres-15' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/postgres/do-postgres-15' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql150: + name: Tests on PostgreSQL 15.0 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: pgsql150 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql160-tests.yml b/.github/workflows/auto-pgsql160-tests.yml new file mode 100644 index 000000000..c9a04ef4a --- /dev/null +++ b/.github/workflows/auto-pgsql160-tests.yml @@ -0,0 +1,149 @@ +name: ⚙🐘 Automated PostgreSQL 16.0 tests +run-name: Tests on PostgreSQL 16.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/postgres/do-postgres-16' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/postgres/do-postgres-16' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/postgres/do-postgres-16' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - any code change + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql160: + name: Tests on PostgreSQL 16.0 + strategy: + matrix: + net: [ 'net6.0' ] # for cold runs we run for one .net + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: pgsql160 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql170-tests.yml b/.github/workflows/auto-pgsql170-tests.yml new file mode 100644 index 000000000..b14bff879 --- /dev/null +++ b/.github/workflows/auto-pgsql170-tests.yml @@ -0,0 +1,182 @@ +name: ⚙🐘🔅 Automated PostgreSQL 17.0 tests +run-name: Tests on PostgreSQL 17.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. + +on: + push: + branches: + - '7.1' + - '7.1-*' + paths: + # containers + - 'Containers/postgres/do-postgres-17' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request: + branches: + - '7.1' + paths: + # containers + - 'Containers/postgres/do-postgres-17' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + + pull_request_review: + branches: + - '7.1' + paths: + # containers + - 'Containers/postgres/do-postgres-17' + - 'Containers/postgres/**.sh' + - 'Containers/postgres/**.sql' + # extensions code only + - 'Extensions/**' + - '!Extensions/**.csproj' + - '!Extensions/**.md' + - '!Extensions/**.props' + - '!Extensions/**.snk' + # main project - most common part, that may have changes that affect + - 'Orm/Xtensive.Orm/Orm/Attributes/**' + - 'Orm/Xtensive.Orm/Orm/Building/**' + - 'Orm/Xtensive.Orm/Orm/Linq/**' + - 'Orm/Xtensive.Orm/Orm/Metadata/**' + - 'Orm/Xtensive.Orm/Orm/Providers/**' + - 'Orm/Xtensive.Orm/Orm/Rse/**' + - 'Orm/Xtensive.Orm/Orm/Upgrade/**' + - 'Orm/Xtensive.Orm/Reflection/**' + - 'Orm/Xtensive.Orm/Sql/**' + # provider + - 'Orm/Xtensive.Orm.MySql/**' + - '!Orm/Xtensive.Orm.MySql/**.csproj' + - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' + # main test project - only most significant parts + - 'Orm/Xtensive.Orm.Tests/Issues/**' + - 'Orm/Xtensive.Orm.Tests/Storage/**' + - 'Orm/Xtensive.Orm.Tests/Upgrade/**' + # sql tests - general and provider-specific + - 'Orm/Xtensive.Orm.Tests.Sql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' + - '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' + #- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**' + - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' + - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' + - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' + # ability to trigger on demand + - 'TestFileForBuildServerTests.txt' + +# new commits with the same key will cancel previously run workflows +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + actions: read + checks: write + +jobs: + test_on_pgsql170: + name: Tests on PostgreSQL 17.0 + strategy: + matrix: + net: [ 'net5.0', 'net6.0' ] + # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone + # + # push filter - to cover pushes from the team to main branch of major version + # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests + # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger + # + if: | + github.event_name == 'push' + || (github.event_name == 'pull_request_review' + && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + && startsWith(github.event.pull_request.base.ref, '7.1') + && github.event.review.state == 'approved') + || (github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + with: + storage: pgsql170 + build_config: Release + target_framework: ${{ matrix.net }} + test_output_verbosity: minimal + test_run_timeout: 30 + run_main: true + run_sql: true + run_extensions: true + publish_raw_results: false \ No newline at end of file diff --git a/.github/workflows/auto-pgsql91-tests.yml b/.github/workflows/auto-pgsql91-tests.yml index a6c4d4ea3..872cdf763 100644 --- a/.github/workflows/auto-pgsql91-tests.yml +++ b/.github/workflows/auto-pgsql91-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 9.1 tests triggered by '${{ github.event_name }}'. on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/postgres/do-postgres-9_1' @@ -36,9 +36,10 @@ on: - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' # ability to trigger on demand - 'TestFileForBuildServerTests.txt' + pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-9_1' @@ -72,7 +73,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-9_1' @@ -103,6 +104,7 @@ on: - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' # ability to trigger on demand - 'TestFileForBuildServerTests.txt' + # new commits with the same key will cancel previously run workflows concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -118,7 +120,7 @@ jobs: name: Tests on PostgreSQL 9.1 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net6.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -129,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql91 build_config: Release diff --git a/.github/workflows/auto-pgsql92-tests.yml b/.github/workflows/auto-pgsql92-tests.yml index 8f414fb1a..1a87212dd 100644 --- a/.github/workflows/auto-pgsql92-tests.yml +++ b/.github/workflows/auto-pgsql92-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 9.2 tests triggered by '${{ github.event_name }}'. on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/postgres/do-postgres-9_2' @@ -39,18 +39,12 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-9_2' - 'Containers/postgres/**.sh' - 'Containers/postgres/**.sql' - # extensions code only - - 'Extensions/**' - - '!Extensions/**.csproj' - - '!Extensions/**.md' - - '!Extensions/**.props' - - '!Extensions/**.snk' # main project - most common part, that may have changes that affect - 'Orm/Xtensive.Orm/Orm/Providers/**' - 'Orm/Xtensive.Orm/Orm/Rse/**' @@ -79,7 +73,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-9_2' @@ -126,7 +120,7 @@ jobs: name: Tests on PostgreSQL 9.2 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net6.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -137,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql92 build_config: Release diff --git a/.github/workflows/auto-pgsql96-tests.yml b/.github/workflows/auto-pgsql96-tests.yml index 6eed36bc2..c7dca35be 100644 --- a/.github/workflows/auto-pgsql96-tests.yml +++ b/.github/workflows/auto-pgsql96-tests.yml @@ -1,11 +1,11 @@ -name: ⚙🐘 Automated PostgreSQL 9.6 tests +name: ⚙🐘🔅 Automated PostgreSQL 9.6 tests run-name: Tests on PostgreSQL 9.6 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # containers - 'Containers/postgres/do-postgres-9_6' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-9_6' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # containers - 'Containers/postgres/do-postgres-9_6' @@ -153,7 +153,7 @@ jobs: name: Tests on PostgreSQL 9.6 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net5.0', 'net6.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + && !startsWith(github.head_ref, '7.1-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql96 build_config: Release diff --git a/.github/workflows/auto-sqlite3-tests.yml b/.github/workflows/auto-sqlite3-tests.yml index 76c3401b7..95977dd1c 100644 --- a/.github/workflows/auto-sqlite3-tests.yml +++ b/.github/workflows/auto-sqlite3-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on SQLite 3 tests triggered by '${{ github.event_name }}'. Run N on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths: # extensions code only - 'Extensions/**' @@ -46,7 +46,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths: # extensions code only - 'Extensions/**' @@ -87,7 +87,7 @@ on: pull_request_review: branches: - - '7.0' + - '7.1' paths: # extensions code only - 'Extensions/**' @@ -142,7 +142,7 @@ jobs: name: Tests on SQLite 3 strategy: matrix: - net: [ 'netcoreapp3.1' ] + net: [ 'net5.0', 'net6.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -153,13 +153,13 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') + && startsWith(github.event.pull_request.base.ref, '7.1') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) + && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: sqlite3 build_config: Release diff --git a/.github/workflows/autobuild-on-push-and-pr.yml b/.github/workflows/autobuild-on-push-and-pr.yml index 214fad353..2c416cc1f 100644 --- a/.github/workflows/autobuild-on-push-and-pr.yml +++ b/.github/workflows/autobuild-on-push-and-pr.yml @@ -4,8 +4,8 @@ run-name: Auto-build run on '${{ github.event_name }}'. Build ${{ github.run_num on: push: branches: - - '7.0' - - '7.0-*' + - '7.1' + - '7.1-*' paths-ignore: - '.github/**' - 'ChangeLog/**' @@ -21,7 +21,7 @@ on: pull_request: branches: - - '7.0' + - '7.1' paths-ignore: - '.github/**' - 'ChangeLog/**' @@ -59,7 +59,7 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request' && (github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name || - (github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.0-')))) + (github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')))) steps: - name: Checkout repo From a6ef10b39d09ab817a39c04b56e7dc596672f5c2 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Tue, 21 Oct 2025 18:14:29 +0500 Subject: [PATCH 67/75] Remove MySQL 5.5 auto tests, exists in dispatched though --- .github/workflows/auto-mysql55-tests.yml | 147 ----------------------- 1 file changed, 147 deletions(-) delete mode 100644 .github/workflows/auto-mysql55-tests.yml diff --git a/.github/workflows/auto-mysql55-tests.yml b/.github/workflows/auto-mysql55-tests.yml deleted file mode 100644 index e542247a8..000000000 --- a/.github/workflows/auto-mysql55-tests.yml +++ /dev/null @@ -1,147 +0,0 @@ -name: ⚙🐬 Automated MySQL 5.5 tests -run-name: Tests on MySQL 5.5 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}. - -on: - push: - branches: - - '7.0' - - '7.0-*' - paths: - # containers - - 'Containers/mysql/do-mysql-5_5' - - 'Containers/mysql/**.sh' - - 'Containers/mysql/**.sql' - # main project - most common part, that may have changes that affect - - 'Orm/Xtensive.Orm/Orm/Providers/**' - - 'Orm/Xtensive.Orm/Orm/Rse/**' - - 'Orm/Xtensive.Orm/Orm/Upgrade/**' - - 'Orm/Xtensive.Orm/Sql/**' - #provider - - 'Orm/Xtensive.Orm.MySql/**' - - '!Orm/Xtensive.Orm.MySql/**.csproj' - - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' - # main test project - any code change - - 'Orm/Xtensive.Orm.Tests/Issues/**' - - 'Orm/Xtensive.Orm.Tests/Storage/**' - - 'Orm/Xtensive.Orm.Tests/Upgrade/**' - # sql tests - general and provider-specific - - 'Orm/Xtensive.Orm.Tests.Sql/**' - - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' - #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' - - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' - - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' - - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' - - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' - - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' - - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' - # ability to trigger on demand - - 'TestFileForBuildServerTests.txt' - pull_request: - branches: - - '7.0' - paths: - # containers - - 'Containers/mysql/do-mysql-5_5' - - 'Containers/mysql/**.sh' - - 'Containers/mysql/**.sql' - # main project - most common part, that may have changes that affect - - 'Orm/Xtensive.Orm/Orm/Providers/**' - - 'Orm/Xtensive.Orm/Orm/Rse/**' - - 'Orm/Xtensive.Orm/Orm/Upgrade/**' - - 'Orm/Xtensive.Orm/Sql/**' - #provider - - 'Orm/Xtensive.Orm.MySql/**' - - '!Orm/Xtensive.Orm.MySql/**.csproj' - - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' - # main test project - any code change - - 'Orm/Xtensive.Orm.Tests/Issues/**' - - 'Orm/Xtensive.Orm.Tests/Storage/**' - - 'Orm/Xtensive.Orm.Tests/Upgrade/**' - # sql tests - general and provider-specific - - 'Orm/Xtensive.Orm.Tests.Sql/**' - - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' - #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' - - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' - - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' - - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' - - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' - - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' - - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' - # ability to trigger on demand - - 'TestFileForBuildServerTests.txt' - pull_request_review: - branches: - - '7.0' - paths: - # containers - - 'Containers/mysql/do-mysql-5_5' - - 'Containers/mysql/**.sh' - - 'Containers/mysql/**.sql' - # main project - most common part, that may have changes that affect - - 'Orm/Xtensive.Orm/Orm/Providers/**' - - 'Orm/Xtensive.Orm/Orm/Rse/**' - - 'Orm/Xtensive.Orm/Orm/Upgrade/**' - - 'Orm/Xtensive.Orm/Sql/**' - #provider - - 'Orm/Xtensive.Orm.MySql/**' - - '!Orm/Xtensive.Orm.MySql/**.csproj' - - '!Orm/Xtensive.Orm.MySql/NuGetContent/**' - # main test project - any code change - - 'Orm/Xtensive.Orm.Tests/Issues/**' - - 'Orm/Xtensive.Orm.Tests/Storage/**' - - 'Orm/Xtensive.Orm.Tests/Upgrade/**' - # sql tests - general and provider-specific - - 'Orm/Xtensive.Orm.Tests.Sql/**' - - '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**' - #- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**' - - '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**' - - '!Orm/Xtensive.Orm.Tests.Sql/PosgreSql/**' - - '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**' - - '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**' - - '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**' - - '!Orm/Xtensive.Orm.Tests.Sql/**.csproj' - # ability to trigger on demand - - 'TestFileForBuildServerTests.txt' - -# new commits with the same key will cancel previously run workflows -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -permissions: - contents: read - actions: read - checks: write - -jobs: - test_on_mysql55: - name: Tests on MySQL 5.5 - strategy: - matrix: - net: [ 'netcoreapp3.1' ] - # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone - # - # push filter - to cover pushes from the team to main branch of major version - # first 'pull_request_review' filter - to cover external pull-requests, since there are major security concerns about content of pull-request we cannot allow auto-runs of tests - # second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger - # - if: | - github.event_name == 'push' - || (github.event_name == 'pull_request_review' - && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.0') - && github.event.review.state == 'approved') - || (github.event_name == 'pull_request' - && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.0-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.0 - with: - storage: mysql55 - build_config: Release - target_framework: ${{ matrix.net }} - test_output_verbosity: minimal - test_run_timeout: 30 - run_main: true - run_sql: true - run_extensions: true - publish_raw_results: false \ No newline at end of file From a3890a1c0c54c7173e50189b65e0817f884cb7a8 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 22 Oct 2025 12:56:12 +0500 Subject: [PATCH 68/75] Update worflows to meet branch needs --- .github/workflows/auto-databaseless-tests.yml | 16 ++++++++-------- .github/workflows/auto-firebird3-tests.yml | 14 +++++++------- .github/workflows/auto-firebird4-tests.yml | 16 ++++++++-------- .github/workflows/auto-firebird5-tests.yml | 16 ++++++++-------- .github/workflows/auto-mssql2017-tests.yml | 16 ++++++++-------- .github/workflows/auto-mssql2019-tests.yml | 16 ++++++++-------- .github/workflows/auto-mssql2022-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql56-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql57-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql80-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql81-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql82-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql83-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql84-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql90-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql91-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql92-tests.yml | 16 ++++++++-------- .github/workflows/auto-mysql93-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql100-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql110-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql120-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql130-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql140-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql150-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql160-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql170-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql91-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql92-tests.yml | 16 ++++++++-------- .github/workflows/auto-pgsql96-tests.yml | 16 ++++++++-------- .github/workflows/auto-sqlite3-tests.yml | 16 ++++++++-------- .github/workflows/autobuild-on-push-and-pr.yml | 8 ++++---- 31 files changed, 243 insertions(+), 243 deletions(-) diff --git a/.github/workflows/auto-databaseless-tests.yml b/.github/workflows/auto-databaseless-tests.yml index fbf429761..9915c99e8 100644 --- a/.github/workflows/auto-databaseless-tests.yml +++ b/.github/workflows/auto-databaseless-tests.yml @@ -4,8 +4,8 @@ run-name: Core tests triggered by '${{ github.event_name }}'. Run No ${{ github. on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # extensions - 'Extensions/Xtensive.Orm.Logging.log4net/**' @@ -32,7 +32,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # extensions - 'Extensions/Xtensive.Orm.Logging.log4net/**' @@ -59,7 +59,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # extensions - 'Extensions/Xtensive.Orm.Logging.log4net/**' @@ -99,7 +99,7 @@ jobs: name: Core Tests strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -110,13 +110,13 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) + && !startsWith(github.head_ref, 'master-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-independant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-independant-tests.yml@master with: storage: sqlite3 build_config: Release diff --git a/.github/workflows/auto-firebird3-tests.yml b/.github/workflows/auto-firebird3-tests.yml index 75daddf98..ce1ac6e20 100644 --- a/.github/workflows/auto-firebird3-tests.yml +++ b/.github/workflows/auto-firebird3-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on Firebird 3 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/firebird/do-firebird-3_0' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/firebird/do-firebird-3_0' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/firebird/do-firebird-3_0' @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: firebird30 build_config: Release diff --git a/.github/workflows/auto-firebird4-tests.yml b/.github/workflows/auto-firebird4-tests.yml index b16964eb9..19e7b269c 100644 --- a/.github/workflows/auto-firebird4-tests.yml +++ b/.github/workflows/auto-firebird4-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on Firebird 4 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/firebird/do-firebird-4_0' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/firebird/do-firebird-4_0' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/firebird/do-firebird-4_0' @@ -120,7 +120,7 @@ jobs: name: Tests on Firebird 4 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: firebird40 build_config: Release diff --git a/.github/workflows/auto-firebird5-tests.yml b/.github/workflows/auto-firebird5-tests.yml index f6fd98dcd..9b3afb518 100644 --- a/.github/workflows/auto-firebird5-tests.yml +++ b/.github/workflows/auto-firebird5-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on Firebird 5 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/firebird/do-firebird-5_0' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/firebird/do-firebird-5_0' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/firebird/do-firebird-5_0' @@ -153,7 +153,7 @@ jobs: name: Tests on Firebird 5 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: firebird50 build_config: Release diff --git a/.github/workflows/auto-mssql2017-tests.yml b/.github/workflows/auto-mssql2017-tests.yml index ce5fd56d5..3abf4f099 100644 --- a/.github/workflows/auto-mssql2017-tests.yml +++ b/.github/workflows/auto-mssql2017-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MS SQL Server 2017 tests triggered by '${{ github.event_name on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mssql/do-mssql-2017' @@ -38,7 +38,7 @@ on: - 'TestFileForBuildServerTests.txt' pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mssql/do-mssql-2017' @@ -72,7 +72,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mssql/do-mssql-2017' @@ -119,7 +119,7 @@ jobs: name: Tests on MS SQL Server 2017 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -130,12 +130,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mssql2017 build_config: Release diff --git a/.github/workflows/auto-mssql2019-tests.yml b/.github/workflows/auto-mssql2019-tests.yml index 44e9c972c..d5043d874 100644 --- a/.github/workflows/auto-mssql2019-tests.yml +++ b/.github/workflows/auto-mssql2019-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MS SQL Server 2019 tests triggered by '${{ github.event_name on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mssql/do-mssql-2019' @@ -47,7 +47,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mssql/do-mssql-2019' @@ -89,7 +89,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mssql/do-mssql-2019' @@ -144,7 +144,7 @@ jobs: name: Tests on MS SQL Server 2019 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -155,12 +155,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mssql2019 build_config: Release diff --git a/.github/workflows/auto-mssql2022-tests.yml b/.github/workflows/auto-mssql2022-tests.yml index db22c10dc..b99b99ab6 100644 --- a/.github/workflows/auto-mssql2022-tests.yml +++ b/.github/workflows/auto-mssql2022-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MS SQL Server 2022 tests triggered by '${{ github.event_name on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mssql/do-mssql-2022' @@ -38,7 +38,7 @@ on: - 'TestFileForBuildServerTests.txt' pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mssql/do-mssql-2022' @@ -72,7 +72,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mssql/do-mssql-2022' @@ -119,7 +119,7 @@ jobs: name: Tests on MS SQL Server 2022 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -130,12 +130,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mssql2022 build_config: Release diff --git a/.github/workflows/auto-mysql56-tests.yml b/.github/workflows/auto-mysql56-tests.yml index 2e138c1c0..fd6c96568 100644 --- a/.github/workflows/auto-mysql56-tests.yml +++ b/.github/workflows/auto-mysql56-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 5.6 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-5_6' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-5_6' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-5_6' @@ -120,7 +120,7 @@ jobs: name: Tests on MySQL 5.6 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql56 build_config: Release diff --git a/.github/workflows/auto-mysql57-tests.yml b/.github/workflows/auto-mysql57-tests.yml index 143b2cc74..25081d6d5 100644 --- a/.github/workflows/auto-mysql57-tests.yml +++ b/.github/workflows/auto-mysql57-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 5.7 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: - 'Containers/mysql/do-mysql-5_7' - 'Containers/mysql/**.sh' @@ -49,7 +49,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: - 'Containers/mysql/do-mysql-5_7' - 'Containers/mysql/**.sh' @@ -93,7 +93,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: - 'Containers/mysql/do-mysql-5_7' - 'Containers/mysql/**.sh' @@ -150,7 +150,7 @@ jobs: name: Tests on MySQL 5.7 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -161,12 +161,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql57 build_config: Release diff --git a/.github/workflows/auto-mysql80-tests.yml b/.github/workflows/auto-mysql80-tests.yml index d1ef96456..4274840ab 100644 --- a/.github/workflows/auto-mysql80-tests.yml +++ b/.github/workflows/auto-mysql80-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 8.0 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-8_0' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_0' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_0' @@ -153,7 +153,7 @@ jobs: name: Tests on MySQL 8.0 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql80 build_config: Release diff --git a/.github/workflows/auto-mysql81-tests.yml b/.github/workflows/auto-mysql81-tests.yml index 9197bb775..d215565ef 100644 --- a/.github/workflows/auto-mysql81-tests.yml +++ b/.github/workflows/auto-mysql81-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 8.1 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-8_1' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_1' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_1' @@ -120,7 +120,7 @@ jobs: name: Tests on MySQL 8.1 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql81 build_config: Release diff --git a/.github/workflows/auto-mysql82-tests.yml b/.github/workflows/auto-mysql82-tests.yml index b59fa40b5..27c095bc7 100644 --- a/.github/workflows/auto-mysql82-tests.yml +++ b/.github/workflows/auto-mysql82-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 8.2 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-8_2' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_2' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_2' @@ -120,7 +120,7 @@ jobs: name: Tests on MySQL 8.2 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql82 build_config: Release diff --git a/.github/workflows/auto-mysql83-tests.yml b/.github/workflows/auto-mysql83-tests.yml index 7e703265c..9795c47e5 100644 --- a/.github/workflows/auto-mysql83-tests.yml +++ b/.github/workflows/auto-mysql83-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 8.3 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-8_3' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_3' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_3' @@ -120,7 +120,7 @@ jobs: name: Tests on MySQL 8.3 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql83 build_config: Release diff --git a/.github/workflows/auto-mysql84-tests.yml b/.github/workflows/auto-mysql84-tests.yml index d9b41cc4c..655634c42 100644 --- a/.github/workflows/auto-mysql84-tests.yml +++ b/.github/workflows/auto-mysql84-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 8.4 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-8_4' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_4' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-8_4' @@ -120,7 +120,7 @@ jobs: name: Tests on MySQL 8.4 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql84 build_config: Release diff --git a/.github/workflows/auto-mysql90-tests.yml b/.github/workflows/auto-mysql90-tests.yml index 082f0cae6..637f8679a 100644 --- a/.github/workflows/auto-mysql90-tests.yml +++ b/.github/workflows/auto-mysql90-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 9.0 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-9_0' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-9_0' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-9_0' @@ -153,7 +153,7 @@ jobs: name: Tests on MySQL 9.0 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql90 build_config: Release diff --git a/.github/workflows/auto-mysql91-tests.yml b/.github/workflows/auto-mysql91-tests.yml index 443e3d2de..8d5d23270 100644 --- a/.github/workflows/auto-mysql91-tests.yml +++ b/.github/workflows/auto-mysql91-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 9.1 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-9_1' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-9_1' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-9_1' @@ -120,7 +120,7 @@ jobs: name: Tests on MySQL 9.1 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql91 build_config: Release diff --git a/.github/workflows/auto-mysql92-tests.yml b/.github/workflows/auto-mysql92-tests.yml index 640d9d9ac..09daa0295 100644 --- a/.github/workflows/auto-mysql92-tests.yml +++ b/.github/workflows/auto-mysql92-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 9.2 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-9_2' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-9_2' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-9_2' @@ -120,7 +120,7 @@ jobs: name: Tests on MySQL 9.2 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql92 build_config: Release diff --git a/.github/workflows/auto-mysql93-tests.yml b/.github/workflows/auto-mysql93-tests.yml index 88acf50e6..c4ea2ab74 100644 --- a/.github/workflows/auto-mysql93-tests.yml +++ b/.github/workflows/auto-mysql93-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on MySQL 9.3 tests triggered by '${{ github.event_name }}'. Run on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/mysql/do-mysql-9_3' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-9_3' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/mysql/do-mysql-9_3' @@ -120,7 +120,7 @@ jobs: name: Tests on MySQL 9.3 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: mysql93 build_config: Release diff --git a/.github/workflows/auto-pgsql100-tests.yml b/.github/workflows/auto-pgsql100-tests.yml index 3dfc00284..4def5f5e8 100644 --- a/.github/workflows/auto-pgsql100-tests.yml +++ b/.github/workflows/auto-pgsql100-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 10.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-10' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-10' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-10' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 10.0 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql100 build_config: Release diff --git a/.github/workflows/auto-pgsql110-tests.yml b/.github/workflows/auto-pgsql110-tests.yml index 381a962a8..a55775a8e 100644 --- a/.github/workflows/auto-pgsql110-tests.yml +++ b/.github/workflows/auto-pgsql110-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 11.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-11' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-11' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-11' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 11.0 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql110 build_config: Release diff --git a/.github/workflows/auto-pgsql120-tests.yml b/.github/workflows/auto-pgsql120-tests.yml index 616dd2a46..3197c06c6 100644 --- a/.github/workflows/auto-pgsql120-tests.yml +++ b/.github/workflows/auto-pgsql120-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 12.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-12' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-12' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-12' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 12.0 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql120 build_config: Release diff --git a/.github/workflows/auto-pgsql130-tests.yml b/.github/workflows/auto-pgsql130-tests.yml index def02969c..45c7d70de 100644 --- a/.github/workflows/auto-pgsql130-tests.yml +++ b/.github/workflows/auto-pgsql130-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 13.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-13' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-13' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-13' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 13.0 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql130 build_config: Release diff --git a/.github/workflows/auto-pgsql140-tests.yml b/.github/workflows/auto-pgsql140-tests.yml index 4b8296ba9..02c247feb 100644 --- a/.github/workflows/auto-pgsql140-tests.yml +++ b/.github/workflows/auto-pgsql140-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 14.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-14' @@ -47,7 +47,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-14' @@ -89,7 +89,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-14' @@ -144,7 +144,7 @@ jobs: name: Tests on PostgreSQL 14.0 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -155,12 +155,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql140 build_config: Release diff --git a/.github/workflows/auto-pgsql150-tests.yml b/.github/workflows/auto-pgsql150-tests.yml index 986003b09..062747dc0 100644 --- a/.github/workflows/auto-pgsql150-tests.yml +++ b/.github/workflows/auto-pgsql150-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 15.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-15' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-15' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-15' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 15.0 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql150 build_config: Release diff --git a/.github/workflows/auto-pgsql160-tests.yml b/.github/workflows/auto-pgsql160-tests.yml index c9a04ef4a..b47a7d8ba 100644 --- a/.github/workflows/auto-pgsql160-tests.yml +++ b/.github/workflows/auto-pgsql160-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 16.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-16' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-16' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-16' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 16.0 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql160 build_config: Release diff --git a/.github/workflows/auto-pgsql170-tests.yml b/.github/workflows/auto-pgsql170-tests.yml index b14bff879..4f5c2a813 100644 --- a/.github/workflows/auto-pgsql170-tests.yml +++ b/.github/workflows/auto-pgsql170-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 17.0 tests triggered by '${{ github.event_name }}' on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-17' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-17' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-17' @@ -153,7 +153,7 @@ jobs: name: Tests on PostgreSQL 17.0 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql170 build_config: Release diff --git a/.github/workflows/auto-pgsql91-tests.yml b/.github/workflows/auto-pgsql91-tests.yml index 872cdf763..f838d0457 100644 --- a/.github/workflows/auto-pgsql91-tests.yml +++ b/.github/workflows/auto-pgsql91-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 9.1 tests triggered by '${{ github.event_name }}'. on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-9_1' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-9_1' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-9_1' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 9.1 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql91 build_config: Release diff --git a/.github/workflows/auto-pgsql92-tests.yml b/.github/workflows/auto-pgsql92-tests.yml index 1a87212dd..26289aa96 100644 --- a/.github/workflows/auto-pgsql92-tests.yml +++ b/.github/workflows/auto-pgsql92-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 9.2 tests triggered by '${{ github.event_name }}'. on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-9_2' @@ -39,7 +39,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-9_2' @@ -73,7 +73,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-9_2' @@ -120,7 +120,7 @@ jobs: name: Tests on PostgreSQL 9.2 strategy: matrix: - net: [ 'net6.0' ] # for cold runs we run for one .net + net: [ 'net8.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -131,12 +131,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql92 build_config: Release diff --git a/.github/workflows/auto-pgsql96-tests.yml b/.github/workflows/auto-pgsql96-tests.yml index c7dca35be..5e8569db0 100644 --- a/.github/workflows/auto-pgsql96-tests.yml +++ b/.github/workflows/auto-pgsql96-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on PostgreSQL 9.6 tests triggered by '${{ github.event_name }}'. on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # containers - 'Containers/postgres/do-postgres-9_6' @@ -50,7 +50,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-9_6' @@ -95,7 +95,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # containers - 'Containers/postgres/do-postgres-9_6' @@ -153,7 +153,7 @@ jobs: name: Tests on PostgreSQL 9.6 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -164,12 +164,12 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + && !startsWith(github.head_ref, 'master-')) + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: pgsql96 build_config: Release diff --git a/.github/workflows/auto-sqlite3-tests.yml b/.github/workflows/auto-sqlite3-tests.yml index 95977dd1c..85d53eefe 100644 --- a/.github/workflows/auto-sqlite3-tests.yml +++ b/.github/workflows/auto-sqlite3-tests.yml @@ -4,8 +4,8 @@ run-name: Tests on SQLite 3 tests triggered by '${{ github.event_name }}'. Run N on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths: # extensions code only - 'Extensions/**' @@ -46,7 +46,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths: # extensions code only - 'Extensions/**' @@ -87,7 +87,7 @@ on: pull_request_review: branches: - - '7.1' + - 'master' paths: # extensions code only - 'Extensions/**' @@ -142,7 +142,7 @@ jobs: name: Tests on SQLite 3 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0', 'net7.0', 'net8.0' ] # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version @@ -153,13 +153,13 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request_review' && github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - && startsWith(github.event.pull_request.base.ref, '7.1') + && startsWith(github.event.pull_request.base.ref, 'master') && github.event.review.state == 'approved') || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name - && !startsWith(github.head_ref, '7.1-')) + && !startsWith(github.head_ref, 'master-')) - uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master with: storage: sqlite3 build_config: Release diff --git a/.github/workflows/autobuild-on-push-and-pr.yml b/.github/workflows/autobuild-on-push-and-pr.yml index 2c416cc1f..0007163c9 100644 --- a/.github/workflows/autobuild-on-push-and-pr.yml +++ b/.github/workflows/autobuild-on-push-and-pr.yml @@ -4,8 +4,8 @@ run-name: Auto-build run on '${{ github.event_name }}'. Build ${{ github.run_num on: push: branches: - - '7.1' - - '7.1-*' + - 'master' + - 'master-*' paths-ignore: - '.github/**' - 'ChangeLog/**' @@ -21,7 +21,7 @@ on: pull_request: branches: - - '7.1' + - 'master' paths-ignore: - '.github/**' - 'ChangeLog/**' @@ -59,7 +59,7 @@ jobs: github.event_name == 'push' || (github.event_name == 'pull_request' && (github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name || - (github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')))) + (github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, 'master-')))) steps: - name: Checkout repo From ece01db45d79be481b0f748122dfb6041465b65e Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 22 Oct 2025 13:03:31 +0500 Subject: [PATCH 69/75] Mistake in readme file fixed --- ReadMe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReadMe.md b/ReadMe.md index 88616b9ad..2edf4fa09 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -1,5 +1,5 @@ ## :exclamation: Important :exclamation: -We discovered a serious issue connected to entity saving to storage for provider that use batching. Though its appearance is rare, version update is **strongly recommended**. +We discovered a serious issue connected to entity saving to storage for providers that use batching. Though its appearance is rare, version update is **strongly recommended**. Minimal versions in which the issue is addressed: [6.0.12](https://github.com/DataObjects-NET/dataobjects-net/releases/tag/6.0.12), [7.0.4](https://github.com/DataObjects-NET/dataobjects-net/releases/tag/7.0.4), From 729d71d3d0c644778d50db44dd8ca69bf8a6d849 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 22 Oct 2025 13:20:56 +0500 Subject: [PATCH 70/75] Wrong ref to worflow corrected --- .github/workflows/auto-mysql80-tests.yml | 2 +- .github/workflows/auto-mysql81-tests.yml | 2 +- .github/workflows/auto-mysql82-tests.yml | 2 +- .github/workflows/auto-mysql83-tests.yml | 2 +- .github/workflows/auto-mysql84-tests.yml | 2 +- .github/workflows/auto-mysql90-tests.yml | 2 +- .github/workflows/auto-mysql91-tests.yml | 2 +- .github/workflows/auto-mysql92-tests.yml | 2 +- .github/workflows/auto-mysql93-tests.yml | 2 +- .github/workflows/auto-pgsql150-tests.yml | 2 +- .github/workflows/auto-pgsql160-tests.yml | 2 +- .github/workflows/auto-pgsql170-tests.yml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/auto-mysql80-tests.yml b/.github/workflows/auto-mysql80-tests.yml index d1ef96456..8900a4af3 100644 --- a/.github/workflows/auto-mysql80-tests.yml +++ b/.github/workflows/auto-mysql80-tests.yml @@ -169,7 +169,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql80 build_config: Release diff --git a/.github/workflows/auto-mysql81-tests.yml b/.github/workflows/auto-mysql81-tests.yml index 9197bb775..d8624f222 100644 --- a/.github/workflows/auto-mysql81-tests.yml +++ b/.github/workflows/auto-mysql81-tests.yml @@ -136,7 +136,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql81 build_config: Release diff --git a/.github/workflows/auto-mysql82-tests.yml b/.github/workflows/auto-mysql82-tests.yml index b59fa40b5..4993faf47 100644 --- a/.github/workflows/auto-mysql82-tests.yml +++ b/.github/workflows/auto-mysql82-tests.yml @@ -136,7 +136,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql82 build_config: Release diff --git a/.github/workflows/auto-mysql83-tests.yml b/.github/workflows/auto-mysql83-tests.yml index 7e703265c..546511bff 100644 --- a/.github/workflows/auto-mysql83-tests.yml +++ b/.github/workflows/auto-mysql83-tests.yml @@ -136,7 +136,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql83 build_config: Release diff --git a/.github/workflows/auto-mysql84-tests.yml b/.github/workflows/auto-mysql84-tests.yml index d9b41cc4c..f95d70b56 100644 --- a/.github/workflows/auto-mysql84-tests.yml +++ b/.github/workflows/auto-mysql84-tests.yml @@ -136,7 +136,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql84 build_config: Release diff --git a/.github/workflows/auto-mysql90-tests.yml b/.github/workflows/auto-mysql90-tests.yml index 082f0cae6..d12980b50 100644 --- a/.github/workflows/auto-mysql90-tests.yml +++ b/.github/workflows/auto-mysql90-tests.yml @@ -169,7 +169,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql90 build_config: Release diff --git a/.github/workflows/auto-mysql91-tests.yml b/.github/workflows/auto-mysql91-tests.yml index 443e3d2de..c11349304 100644 --- a/.github/workflows/auto-mysql91-tests.yml +++ b/.github/workflows/auto-mysql91-tests.yml @@ -136,7 +136,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql91 build_config: Release diff --git a/.github/workflows/auto-mysql92-tests.yml b/.github/workflows/auto-mysql92-tests.yml index 640d9d9ac..d4b8927c1 100644 --- a/.github/workflows/auto-mysql92-tests.yml +++ b/.github/workflows/auto-mysql92-tests.yml @@ -136,7 +136,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql92 build_config: Release diff --git a/.github/workflows/auto-mysql93-tests.yml b/.github/workflows/auto-mysql93-tests.yml index 88acf50e6..a0135c6aa 100644 --- a/.github/workflows/auto-mysql93-tests.yml +++ b/.github/workflows/auto-mysql93-tests.yml @@ -136,7 +136,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: mysql93 build_config: Release diff --git a/.github/workflows/auto-pgsql150-tests.yml b/.github/workflows/auto-pgsql150-tests.yml index 986003b09..c0695ba59 100644 --- a/.github/workflows/auto-pgsql150-tests.yml +++ b/.github/workflows/auto-pgsql150-tests.yml @@ -136,7 +136,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql150 build_config: Release diff --git a/.github/workflows/auto-pgsql160-tests.yml b/.github/workflows/auto-pgsql160-tests.yml index c9a04ef4a..5f139c461 100644 --- a/.github/workflows/auto-pgsql160-tests.yml +++ b/.github/workflows/auto-pgsql160-tests.yml @@ -136,7 +136,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql160 build_config: Release diff --git a/.github/workflows/auto-pgsql170-tests.yml b/.github/workflows/auto-pgsql170-tests.yml index b14bff879..e3e7582e8 100644 --- a/.github/workflows/auto-pgsql170-tests.yml +++ b/.github/workflows/auto-pgsql170-tests.yml @@ -169,7 +169,7 @@ jobs: || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name && !startsWith(github.head_ref, '7.1-')) - uses: DataObjects-NET/github-workflow-playground/.github/workflows/reusable-storage-dependant-tests.yml@7.1 + uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@7.1 with: storage: pgsql170 build_config: Release From d2860f1049f2b22129329041210777d11423d22c Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 22 Oct 2025 13:28:05 +0500 Subject: [PATCH 71/75] Some SQL Server WFs (cold ones) build only for one .NET --- .github/workflows/auto-mssql2017-tests.yml | 2 +- .github/workflows/auto-mssql2022-tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-mssql2017-tests.yml b/.github/workflows/auto-mssql2017-tests.yml index ce5fd56d5..9cad35ae1 100644 --- a/.github/workflows/auto-mssql2017-tests.yml +++ b/.github/workflows/auto-mssql2017-tests.yml @@ -119,7 +119,7 @@ jobs: name: Tests on MS SQL Server 2017 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version diff --git a/.github/workflows/auto-mssql2022-tests.yml b/.github/workflows/auto-mssql2022-tests.yml index db22c10dc..04ce6eebc 100644 --- a/.github/workflows/auto-mssql2022-tests.yml +++ b/.github/workflows/auto-mssql2022-tests.yml @@ -119,7 +119,7 @@ jobs: name: Tests on MS SQL Server 2022 strategy: matrix: - net: [ 'net5.0', 'net6.0' ] + net: [ 'net6.0' ] # for cold runs we run for one .net # For security reasons we allow test runs either for pushes from the team or for pull-requests after their changes were seen and approved by someone # # push filter - to cover pushes from the team to main branch of major version From 7762a1a524521117d830cedb84cba5f2c48eb945 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 22 Oct 2025 14:57:50 +0500 Subject: [PATCH 72/75] Showing all fails in tests is optional setting --- .github/workflows/reusable-storage-dependant-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-storage-dependant-tests.yml b/.github/workflows/reusable-storage-dependant-tests.yml index 2d45e8603..171df3f96 100644 --- a/.github/workflows/reusable-storage-dependant-tests.yml +++ b/.github/workflows/reusable-storage-dependant-tests.yml @@ -27,7 +27,7 @@ on: description: 'No mute tests' type: boolean default: false - required: true + required: false test_output_verbosity: description: 'Verbosity for dotnet test command' required: true From e81f51e6d6a2d804b47109e9f80de9289e252a3b Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 22 Oct 2025 15:36:15 +0500 Subject: [PATCH 73/75] Add workflow runs deletion - scheduled and manual --- .github/scripts/delete_workflow_runs.ps1 | 240 +++++++++++++++++++++ .github/workflows/delete-workflow-runs.yml | 47 ++++ 2 files changed, 287 insertions(+) create mode 100644 .github/scripts/delete_workflow_runs.ps1 create mode 100644 .github/workflows/delete-workflow-runs.yml diff --git a/.github/scripts/delete_workflow_runs.ps1 b/.github/scripts/delete_workflow_runs.ps1 new file mode 100644 index 000000000..b2f47aca7 --- /dev/null +++ b/.github/scripts/delete_workflow_runs.ps1 @@ -0,0 +1,240 @@ +param( + [Parameter(Mandatory)] + [string] $repo, + [Parameter(Mandatory)] + [string] $token, + [Parameter(Mandatory)] + [string] $keepDays +) + +$baseUri = "https://api.github.com" +$repoBaseUri = "$baseUri/repos/$repo" +$actionsBaseUri = "$repoBaseUri/actions" +$runsBaseUri = "$actionsBaseUri/runs" + +$headers = @{ + Authorization = "Bearer $token" + Accept = "application/vnd.github+json" +} + +function Get() { + param( + [string] $uri + ) + return Invoke-RestMethod -Uri $uri -Headers $headers -Method Get +} + +function DeleteRuns() { + param ( + [System.Collections.ArrayList] $runIds + ) + + foreach ($id in $runIds) { + Write-Host "Deleting run $id" + $deleteUri = "$runsBaseUri/$id" + Invoke-RestMethod -Uri $deleteUri -Headers $headers -Method Delete + } +} + +# +# Gets all workflow runs, finds among them the ones that meet deletion requirements +# (inactive workflow, closed pull-request or older than required days) +# and sorts them into several buckets - "inactive", "pull_request", "workflow_dispatch", "push" +# and "schedule" +# +function GetWorkflowRunsForDeletion() +{ + [OutputType([System.Collections.Generic.Dictionary[System.String, System.Collections.ArrayList]])] + param ( + [System.Int32] $storeDays + ) + + [System.Collections.Generic.HashSet[int]]$inactiveWorkflows = New-Object System.Collections.Generic.HashSet[int] + + $allWorkflows = Invoke-RestMethod -Uri "$actionsBaseUri/workflows" -Headers $headers -Method Get + + # number of workflows is less then number of runs + # so more efficient to get them all and find inactive ones + foreach ($wf in $allWorkflows.workflows) { + if ($wf.state -ne "active") { + $inactiveWorkflows.Add($wf.id) | Out-Null; + } + } + + [System.Collections.Generic.Dictionary[System.String, System.Collections.ArrayList]]$result = New-Object System.Collections.Generic.Dictionary"[System.String, System.Collections.ArrayList]" + + #keys of the dictionary equal to events of workflows + $result["pull_request"] = New-Object System.Collections.ArrayList + $result["workflow_dispatch"] = New-Object System.Collections.ArrayList + $result["push"] = New-Object System.Collections.ArrayList + $result["schedule"] = New-Object System.Collections.ArrayList + #special bucket + $result["inactive"] = New-Object System.Collections.ArrayList + + + $page = 1 + $per_page = 100 + + do { + $uri = "$runsBaseUri" + "?page=$page&per_page=$per_page" + $response = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get + + if ($response.total_count -eq 0) { + return $result + } + + [System.DateTime]$created = (Get-Date).AddDays(-$storeDays) + + foreach ($run in $response.workflow_runs) { + if ($result.ContainsKey($run.event) -eq $true) { + # Doesn't matter how old the run is - if the workflow is inactive + # put it for deletion + if ($inactiveWorkflows.Contains($run.workflow_id)) { + $result["inactive"].Add($run) | Out-Null + } + else { + if ($run.event -eq "pull_request") { + # for PRs we collect only closed ones + if ($run.pull_requests.Count -eq 0) { + $result[$run.event].Add($run) | Out-Null + } + } + else { + # for the rest, we apply date filter + $created_at = [System.DateTime]::Parse($run.created_at) + if ($created_at -lt $created) { + $result[$run.event].Add($run) | Out-Null + } + } + } + } + } + + $page++ + } while ($response.workflow_runs.Count -eq $per_page) + + return $result +} + +# +# Deletes runs of inactive workflows (of pull_request, push, workflow_dispatch or schedule event) +# +function DeleteRunsOfInactiveWorkflows() { + param ( + [System.Collections.Generic.Dictionary[System.String, System.Collections.ArrayList]] $groups + ) + + [System.Collections.ArrayList]$runs = $groups["inactive"] + + if ($runs.Count -eq 0) { + Write-Host "No runs of inactive workflows. Skipping" + return + } + + Write-Host "Deleting runs of inactive workflows" + $run_ids = $runs | Select-Object -ExpandProperty id + DeleteRuns $run_ids +} + +# +# Deletes runs of closed pull-requests +# +function DeleteRunsForClosedPR() { + param ( + [System.Collections.Generic.Dictionary[System.String, System.Collections.ArrayList]] $groups + ) + + [System.Collections.ArrayList]$runs = $groups["pull_request"] + + if ($runs.Count -eq 0) { + Write-Host "No runs for closed pull requests. Skipping" + return + } + + Write-Host "Deleting runs for closed pull requests" + $run_ids = $runs | Select-Object -ExpandProperty id + DeleteRuns $run_ids +} + +# +# Deletes runs of 'workflow_dispatch' event marked for deletion +# +function DeleteOldDispatchedRuns() { + param ( + [System.Collections.Generic.Dictionary[System.String, System.Collections.ArrayList]] $groups + ) + + [System.Collections.ArrayList]$runs = $groups["workflow_dispatch"] + + if ($runs.Count -eq 0) { + Write-Host "No dispatched runs to delete. Skipping" + return + } + + Write-Host "Deleting old runs that were dispatched" + $run_ids = $runs | Select-Object -ExpandProperty id + DeleteRuns $run_ids +} + +# +# Deletes runs of 'push' event marked for deletion +# +function DeleteOldRunsOnPush() { + param ( + [System.Collections.Generic.Dictionary[System.String, System.Collections.ArrayList]] $groups + ) + + [System.Collections.ArrayList]$runs = $groups["push"] + + if ($runs.Count -eq 0) { + Write-Host "No runs triggered by push to delete. Skipping" + return + } + + Write-Host "Deleting old runs triggered by push" + $run_ids = $runs | Select-Object -ExpandProperty id + DeleteRuns $run_ids +} + +# +# Deletes runs of 'schedule' event marked for deletion +# +function DeleteOldScheduledRuns() { + param ( + [System.Collections.Generic.Dictionary[System.String, System.Collections.ArrayList]] $groups + ) + + [System.Collections.ArrayList]$runs = $groups["schedule"] + + if ($runs.Count -eq 0) { + Write-Host "No scheduled runs to delete. Skipping" + return + } + + Write-Host "Deleting old runs triggered on schedule" + $run_ids = $runs | Select-Object -ExpandProperty id + DeleteRuns $run_ids +} + +Write-Host "Collecting runs for closed PRs, inactive workflow runs, and other runs older than $keepDays days" + +$preserveDays = [System.Int32]::Parse($keepDays) + +$runsForDeletion = GetWorkflowRunsForDeletion $preserveDays + +if ($runsForDeletion.ToString() -eq "System.Object[]") +{ + # just in case somebody screws up method and forgot to apply out-null to some operation + # and results of method became array of objects + $runsForDeletion = $runsForDeletion[$runsForDeletion.Length - 1]; +} + +DeleteRunsOfInactiveWorkflows $runsForDeletion + +DeleteRunsForClosedPR $runsForDeletion + +DeleteOldDispatchedRuns $runsForDeletion + +DeleteOldRunsOnPush $runsForDeletion + +DeleteOldScheduledRuns $runsForDeletion \ No newline at end of file diff --git a/.github/workflows/delete-workflow-runs.yml b/.github/workflows/delete-workflow-runs.yml new file mode 100644 index 000000000..dd0ca362d --- /dev/null +++ b/.github/workflows/delete-workflow-runs.yml @@ -0,0 +1,47 @@ +# Runs at 01:00 every tuesday and deletes workflow runs for closed pull requests, +# inactive workflows' runs or runs older than defined days. +# Can also be run manually + +name: "‼Delete workflow runs‼" +run-name: Delete workflow run on ${{ github.event_name }} + +on: + schedule: + - cron: "0 1 * * 2" + workflow_dispatch: + inputs: + keepDays: + description: 'Keep history existing runs of last X days' + required: true + default: 6 + type: number + +env: + KEEP_DAYS_DEFAULT: '6' # to not let auto-cleanup delete runs during weekend + +permissions: + actions: write + contents: read + +jobs: + clear: + if: github.refs == 'refs/heads/master' + runs-on: ubuntu-22.04 + timeout-minutes: 10 + + steps: + - name: Get cleanup scripts + uses: actions/checkout@v4 + with: + sparse-checkout: | + .github/scripts + + - name: Run workflow history manual cleanup + if: ${{ github.event_name == 'workflow_dispatch' }} + run: .github/scripts/delete_workflow_runs.ps1 -repo ${{ github.repository }} -token ${{ secrets.GITHUB_TOKEN }} -keepDays ${{ inputs.keepDays }} + shell: pwsh + + - name: Run workflow history auto cleanup + if: ${{ github.event_name == 'schedule' }} + run: .github/scripts/delete_workflow_runs.ps1 -repo ${{ github.repository }} -token ${{ secrets.GITHUB_TOKEN }} -keepDays ${{ env.KEEP_DAYS_DEFAULT }} + shell: pwsh \ No newline at end of file From 849768fbb7ea80c77c17bbd5a4a04e4155fed0a8 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 22 Oct 2025 15:39:30 +0500 Subject: [PATCH 74/75] Remove unused workflow --- .github/workflows/dotnet_build_master.yml | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .github/workflows/dotnet_build_master.yml diff --git a/.github/workflows/dotnet_build_master.yml b/.github/workflows/dotnet_build_master.yml deleted file mode 100644 index 534b6d24d..000000000 --- a/.github/workflows/dotnet_build_master.yml +++ /dev/null @@ -1,22 +0,0 @@ -# This workflow will build a .NET project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net - -name: Build contributors PRs to master - -on: - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 8.0.x - - name: Restore dependencies - run: dotnet restore - - name: Build - run: dotnet build -c Release --no-restore From 07c8394e2cd9754b48431ecc89bd7948f3e62442 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 22 Oct 2025 15:59:35 +0500 Subject: [PATCH 75/75] Wrong github endpoing --- .github/workflows/delete-workflow-runs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/delete-workflow-runs.yml b/.github/workflows/delete-workflow-runs.yml index dd0ca362d..9c8ef724e 100644 --- a/.github/workflows/delete-workflow-runs.yml +++ b/.github/workflows/delete-workflow-runs.yml @@ -25,7 +25,7 @@ permissions: jobs: clear: - if: github.refs == 'refs/heads/master' + if: github.ref == 'refs/heads/master' runs-on: ubuntu-22.04 timeout-minutes: 10