Skip to content

Commit 544ecb8

Browse files
authored
Merge pull request #420 from servicetitan/mergeUpstream
Merge upstream
2 parents 77e8b0a + 325433b commit 544ecb8

File tree

6 files changed

+241
-21
lines changed

6 files changed

+241
-21
lines changed
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
name: ⚙🐘 Automated PostgreSQL 18.0 tests
2+
run-name: Tests on PostgreSQL 18.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}.
3+
4+
on:
5+
push:
6+
branches:
7+
- 'master'
8+
- 'master-*'
9+
paths:
10+
# containers
11+
- 'Containers/postgres/do-postgres-18'
12+
- 'Containers/postgres/**.sh'
13+
- 'Containers/postgres/**.sql'
14+
# main project - most common part, that may have changes that affect
15+
- 'Orm/Xtensive.Orm/Orm/Providers/**'
16+
- 'Orm/Xtensive.Orm/Orm/Rse/**'
17+
- 'Orm/Xtensive.Orm/Orm/Upgrade/**'
18+
- 'Orm/Xtensive.Orm/Sql/**'
19+
# provider
20+
- 'Orm/Xtensive.Orm.MySql/**'
21+
- '!Orm/Xtensive.Orm.MySql/**.csproj'
22+
- '!Orm/Xtensive.Orm.MySql/NuGetContent/**'
23+
# main test project - any code change
24+
- 'Orm/Xtensive.Orm.Tests/Issues/**'
25+
- 'Orm/Xtensive.Orm.Tests/Storage/**'
26+
- 'Orm/Xtensive.Orm.Tests/Upgrade/**'
27+
# sql tests - general and provider-specific
28+
- 'Orm/Xtensive.Orm.Tests.Sql/**'
29+
- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**'
30+
- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**'
31+
- '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**'
32+
#- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**'
33+
- '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**'
34+
- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**'
35+
- '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**'
36+
- '!Orm/Xtensive.Orm.Tests.Sql/**.csproj'
37+
# ability to trigger on demand
38+
- 'TestFileForBuildServerTests.txt'
39+
40+
pull_request:
41+
branches:
42+
- 'master'
43+
paths:
44+
# containers
45+
- 'Containers/postgres/do-postgres-18'
46+
- 'Containers/postgres/**.sh'
47+
- 'Containers/postgres/**.sql'
48+
# main project - most common part, that may have changes that affect
49+
- 'Orm/Xtensive.Orm/Orm/Providers/**'
50+
- 'Orm/Xtensive.Orm/Orm/Rse/**'
51+
- 'Orm/Xtensive.Orm/Orm/Upgrade/**'
52+
- 'Orm/Xtensive.Orm/Sql/**'
53+
# provider
54+
- 'Orm/Xtensive.Orm.MySql/**'
55+
- '!Orm/Xtensive.Orm.MySql/**.csproj'
56+
- '!Orm/Xtensive.Orm.MySql/NuGetContent/**'
57+
# main test project - any code change
58+
- 'Orm/Xtensive.Orm.Tests/Issues/**'
59+
- 'Orm/Xtensive.Orm.Tests/Storage/**'
60+
- 'Orm/Xtensive.Orm.Tests/Upgrade/**'
61+
# sql tests - general and provider-specific
62+
- 'Orm/Xtensive.Orm.Tests.Sql/**'
63+
- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**'
64+
- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**'
65+
- '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**'
66+
#- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**'
67+
- '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**'
68+
- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**'
69+
- '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**'
70+
- '!Orm/Xtensive.Orm.Tests.Sql/**.csproj'
71+
# ability to trigger on demand
72+
- 'TestFileForBuildServerTests.txt'
73+
74+
pull_request_review:
75+
branches:
76+
- 'master'
77+
paths:
78+
# containers
79+
- 'Containers/postgres/do-postgres-18'
80+
- 'Containers/postgres/**.sh'
81+
- 'Containers/postgres/**.sql'
82+
# main project - most common part, that may have changes that affect
83+
- 'Orm/Xtensive.Orm/Orm/Providers/**'
84+
- 'Orm/Xtensive.Orm/Orm/Rse/**'
85+
- 'Orm/Xtensive.Orm/Orm/Upgrade/**'
86+
- 'Orm/Xtensive.Orm/Sql/**'
87+
# provider
88+
- 'Orm/Xtensive.Orm.MySql/**'
89+
- '!Orm/Xtensive.Orm.MySql/**.csproj'
90+
- '!Orm/Xtensive.Orm.MySql/NuGetContent/**'
91+
# main test project - any code change
92+
- 'Orm/Xtensive.Orm.Tests/Issues/**'
93+
- 'Orm/Xtensive.Orm.Tests/Storage/**'
94+
- 'Orm/Xtensive.Orm.Tests/Upgrade/**'
95+
# sql tests - general and provider-specific
96+
- 'Orm/Xtensive.Orm.Tests.Sql/**'
97+
- '!Orm/Xtensive.Orm.Tests.Sql/Firebird/**'
98+
- '!Orm/Xtensive.Orm.Tests.Sql/MySQL/**'
99+
- '!Orm/Xtensive.Orm.Tests.Sql/Oracle/**'
100+
#- '!Orm/Xtensive.Orm.Tests.Sql/PostgreSql/**'
101+
- '!Orm/Xtensive.Orm.Tests.Sql/Sqlite/**'
102+
- '!Orm/Xtensive.Orm.Tests.Sql/SqlServer/**'
103+
- '!Orm/Xtensive.Orm.Tests.Sql/SqlServerCe/**'
104+
- '!Orm/Xtensive.Orm.Tests.Sql/**.csproj'
105+
# ability to trigger on demand
106+
- 'TestFileForBuildServerTests.txt'
107+
108+
# new commits with the same key will cancel previously run workflows
109+
concurrency:
110+
group: ${{ github.workflow }}-${{ github.ref }}
111+
cancel-in-progress: true
112+
113+
permissions:
114+
contents: read
115+
actions: read
116+
checks: write
117+
118+
jobs:
119+
test_on_pgsql180:
120+
name: Tests on PostgreSQL 18.0
121+
strategy:
122+
matrix:
123+
net: [ 'net8.0' ] # for cold runs we run for one .net
124+
# 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
125+
#
126+
# push filter - to cover pushes from the team to main branch of major version
127+
# 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
128+
# second 'pull_request_review' - to cover internal pull-requests that were not covered by 'on push' trigger
129+
#
130+
if: |
131+
github.event_name == 'push'
132+
|| (github.event_name == 'pull_request_review'
133+
&& github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
134+
&& startsWith(github.event.pull_request.base.ref, 'master')
135+
&& github.event.review.state == 'approved')
136+
|| (github.event_name == 'pull_request'
137+
&& github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name
138+
&& !startsWith(github.head_ref, 'master-'))
139+
uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master
140+
with:
141+
storage: pgsql180
142+
build_config: Release
143+
target_framework: ${{ matrix.net }}
144+
test_output_verbosity: minimal
145+
test_run_timeout: 30
146+
run_main: true
147+
run_sql: true
148+
run_extensions: true
149+
publish_raw_results: false

.github/workflows/dispatched-pgsql10-tests.yml

Lines changed: 78 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,24 @@ on:
1313
type: boolean
1414
default: false
1515
required: true
16-
pgsql100:
17-
description: 'PostgreSQL 10'
18-
type: boolean
19-
default: false
20-
required: true
21-
pgsql110:
22-
description: 'PostgreSQL 11'
23-
type: boolean
24-
default: false
25-
required: true
26-
pgsql120:
27-
description: 'PostgreSQL 12'
28-
type: boolean
29-
default: false
30-
required: true
16+
# EOL - moved to addtional versions
17+
#pgsql100:
18+
# description: 'PostgreSQL 10'
19+
# type: boolean
20+
# default: false
21+
# required: true
22+
# EOL - moved to addtional versions
23+
#pgsql110:
24+
# description: 'PostgreSQL 11'
25+
# type: boolean
26+
# default: false
27+
# required: true
28+
# EOL - moved to addtional versions
29+
#pgsql120:
30+
# description: 'PostgreSQL 12'
31+
# type: boolean
32+
# default: false
33+
# required: true
3134
pgsql130:
3235
description: 'PostgreSQL 13'
3336
type: boolean
@@ -53,6 +56,22 @@ on:
5356
type: boolean
5457
default: true
5558
required: true
59+
pgsql180:
60+
description: 'PostgreSQL 18'
61+
type: boolean
62+
default: false
63+
required: true
64+
#pgsql190:
65+
# description: 'PostgreSQL 19'
66+
# type: boolean
67+
# default: false
68+
# required: true
69+
additional_versions:
70+
description: 'Additional versions (separated by ;)'
71+
required: false
72+
default: 'pgsql100;pgsql110;pgsql120'
73+
type: string
74+
5675

5776
# new commits with the same key will cancel previously run workflows
5877
concurrency:
@@ -67,7 +86,7 @@ permissions:
6786
jobs:
6887
test_on_pgsql100:
6988
name: Tests on PostgreSQL 10
70-
if: ${{ inputs.pgsql100 }}
89+
if: ${{ contains(inputs.additional_versions, 'pgsql100') }}
7190
strategy:
7291
matrix:
7392
net: [ 'net6.0', 'net7.0', 'net8.0' ]
@@ -87,7 +106,7 @@ jobs:
87106

88107
test_on_pgsql110:
89108
name: Tests on PostgreSQL 11
90-
if: ${{ inputs.pgsql110 }}
109+
if: ${{ contains(inputs.additional_versions, 'pgsql110') }}
91110
strategy:
92111
matrix:
93112
net: [ 'net6.0', 'net7.0', 'net8.0' ]
@@ -107,7 +126,7 @@ jobs:
107126

108127
test_on_pgsql120:
109128
name: Tests on PostgreSQL 12
110-
if: ${{ inputs.pgsql120 }}
129+
if: ${{ contains(inputs.additional_versions, 'pgsql120') }}
111130
strategy:
112131
matrix:
113132
net: [ 'net6.0', 'net7.0', 'net8.0' ]
@@ -224,4 +243,44 @@ jobs:
224243
run_main: true
225244
run_sql: true
226245
run_extensions: true
227-
publish_raw_results: true
246+
publish_raw_results: true
247+
248+
test_on_pgsql180:
249+
name: Tests on PostgreSQL 18
250+
if: ${{ inputs.pgsql180 }}
251+
strategy:
252+
matrix:
253+
net: [ 'net6.0', 'net7.0', 'net8.0' ]
254+
uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master
255+
with:
256+
storage: pgsql180
257+
build_config: Release
258+
target_framework: ${{ matrix.net }}
259+
specific_sha: ${{ inputs.specific_sha }}
260+
show_all_fails: ${{ fromJSON(inputs.show_all_fails) }}
261+
test_output_verbosity: minimal
262+
test_run_timeout: 30
263+
run_main: true
264+
run_sql: true
265+
run_extensions: true
266+
publish_raw_results: true
267+
268+
#test_on_pgsql190:
269+
# name: Tests on PostgreSQL 19
270+
# if: ${{ inputs.pgsql190 }}
271+
# strategy:
272+
# matrix:
273+
# net: [ 'net6.0', 'net7.0', 'net8.0' ]
274+
# uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master
275+
# with:
276+
# storage: pgsql190
277+
# build_config: Release
278+
# target_framework: ${{ matrix.net }}
279+
# specific_sha: ${{ inputs.specific_sha }}
280+
# show_all_fails: ${{ fromJSON(inputs.show_all_fails) }}
281+
# test_output_verbosity: minimal
282+
# test_run_timeout: 30
283+
# run_main: true
284+
# run_sql: true
285+
# run_extensions: true
286+
# publish_raw_results: true
File renamed without changes.

ChangeLog/7.2.0-dev.txt

Whitespace-only changes.

Containers/postgres/do-postgres-18

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM postgres:18.0
2+
3+
RUN export DEBIAN_FRONTEND=noninteractive && \
4+
apt-get update && \
5+
#Actualize time zone database
6+
apt-get install -y tzdata && \
7+
apt-get clean && \
8+
rm -rf /var/lib/apt/lists
9+
10+
COPY init-postgres-instance.sh /docker-entrypoint-initdb.d/
11+
12+
RUN chmod +x /docker-entrypoint-initdb.d/init-postgres-instance.sh

ReadMe.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ Supported databases:
1717
- MS SQL Server 2008 R2, 2012, 2014, 2016, 2017, 2019, 2022
1818
- MS Azure SQL Database
1919
- Oracle 10g, 11g
20-
- PostgreSQL 8.3, 8.4, 9.0, 9.1, 9.2, 10, 11, 12, 13, 14, 15, 16, 17
21-
- MySQL 5.6, 5.7, 8.0
20+
- PostgreSQL 8.3, 8.4, 9.0, 9.1, 9.2, 10, 11, 12, 13, 14, 15, 16, 17, 18
21+
- MySQL 5.6, 5.7, 8.x, 9.x
2222
- Firebird 2.5, 4.0
2323
- Sqlite 3
2424

0 commit comments

Comments
 (0)