Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
149 changes: 149 additions & 0 deletions .github/workflows/auto-pgsql180-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
name: ⚙🐘 Automated PostgreSQL 18.0 tests
run-name: Tests on PostgreSQL 18.0 tests triggered by '${{ github.event_name }}'. Run No ${{ github.run_number }}.

on:
push:
branches:
- 'master'
- 'master-*'
paths:
# containers
- 'Containers/postgres/do-postgres-18'
- '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:
- 'master'
paths:
# containers
- 'Containers/postgres/do-postgres-18'
- '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:
- 'master'
paths:
# containers
- 'Containers/postgres/do-postgres-18'
- '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_pgsql180:
name: Tests on PostgreSQL 18.0
strategy:
matrix:
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
# 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, '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, 'master-'))
uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master
with:
storage: pgsql180
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
97 changes: 78 additions & 19 deletions .github/workflows/dispatched-pgsql10-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,24 @@ on:
type: boolean
default: false
required: true
pgsql100:
description: 'PostgreSQL 10'
type: boolean
default: false
required: true
pgsql110:
description: 'PostgreSQL 11'
type: boolean
default: false
required: true
pgsql120:
description: 'PostgreSQL 12'
type: boolean
default: false
required: true
# EOL - moved to addtional versions
#pgsql100:
# description: 'PostgreSQL 10'
# type: boolean
# default: false
# required: true
# EOL - moved to addtional versions
#pgsql110:
# description: 'PostgreSQL 11'
# type: boolean
# default: false
# required: true
# EOL - moved to addtional versions
#pgsql120:
# description: 'PostgreSQL 12'
# type: boolean
# default: false
# required: true
pgsql130:
description: 'PostgreSQL 13'
type: boolean
Expand All @@ -53,6 +56,22 @@ on:
type: boolean
default: true
required: true
pgsql180:
description: 'PostgreSQL 18'
type: boolean
default: false
required: true
#pgsql190:
# description: 'PostgreSQL 19'
# type: boolean
# default: false
# required: true
additional_versions:
description: 'Additional versions (separated by ;)'
required: false
default: 'pgsql100;pgsql110;pgsql120'
type: string


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

test_on_pgsql110:
name: Tests on PostgreSQL 11
if: ${{ inputs.pgsql110 }}
if: ${{ contains(inputs.additional_versions, 'pgsql110') }}
strategy:
matrix:
net: [ 'net6.0', 'net7.0', 'net8.0' ]
Expand All @@ -107,7 +126,7 @@ jobs:

test_on_pgsql120:
name: Tests on PostgreSQL 12
if: ${{ inputs.pgsql120 }}
if: ${{ contains(inputs.additional_versions, 'pgsql120') }}
strategy:
matrix:
net: [ 'net6.0', 'net7.0', 'net8.0' ]
Expand Down Expand Up @@ -224,4 +243,44 @@ jobs:
run_main: true
run_sql: true
run_extensions: true
publish_raw_results: true
publish_raw_results: true

test_on_pgsql180:
name: Tests on PostgreSQL 18
if: ${{ inputs.pgsql180 }}
strategy:
matrix:
net: [ 'net6.0', 'net7.0', 'net8.0' ]
uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master
with:
storage: pgsql180
build_config: Release
target_framework: ${{ matrix.net }}
specific_sha: ${{ inputs.specific_sha }}
show_all_fails: ${{ fromJSON(inputs.show_all_fails) }}
test_output_verbosity: minimal
test_run_timeout: 30
run_main: true
run_sql: true
run_extensions: true
publish_raw_results: true

#test_on_pgsql190:
# name: Tests on PostgreSQL 19
# if: ${{ inputs.pgsql190 }}
# strategy:
# matrix:
# net: [ 'net6.0', 'net7.0', 'net8.0' ]
# uses: DataObjects-NET/dataobjects-net/.github/workflows/reusable-storage-dependant-tests.yml@master
# with:
# storage: pgsql190
# build_config: Release
# target_framework: ${{ matrix.net }}
# specific_sha: ${{ inputs.specific_sha }}
# show_all_fails: ${{ fromJSON(inputs.show_all_fails) }}
# test_output_verbosity: minimal
# test_run_timeout: 30
# run_main: true
# run_sql: true
# run_extensions: true
# publish_raw_results: true
File renamed without changes.
Empty file added ChangeLog/7.2.0-dev.txt
Empty file.
12 changes: 12 additions & 0 deletions Containers/postgres/do-postgres-18
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM postgres:18.0

RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
#Actualize time zone database
apt-get install -y tzdata && \
apt-get clean && \
rm -rf /var/lib/apt/lists

COPY init-postgres-instance.sh /docker-entrypoint-initdb.d/

RUN chmod +x /docker-entrypoint-initdb.d/init-postgres-instance.sh
4 changes: 2 additions & 2 deletions ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ Supported databases:
- MS SQL Server 2008 R2, 2012, 2014, 2016, 2017, 2019, 2022
- MS Azure SQL Database
- Oracle 10g, 11g
- PostgreSQL 8.3, 8.4, 9.0, 9.1, 9.2, 10, 11, 12, 13, 14, 15, 16, 17
- MySQL 5.6, 5.7, 8.0
- PostgreSQL 8.3, 8.4, 9.0, 9.1, 9.2, 10, 11, 12, 13, 14, 15, 16, 17, 18
- MySQL 5.6, 5.7, 8.x, 9.x
- Firebird 2.5, 4.0
- Sqlite 3

Expand Down