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
28 changes: 9 additions & 19 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
jobs:
microsoft_sql:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
env:
RunDockerTests: true
steps:
Expand All @@ -31,12 +31,14 @@ jobs:
docker pull mcr.microsoft.com/mssql/server:2017-latest
docker pull mcr.microsoft.com/mssql/server:2019-latest
docker pull mcr.microsoft.com/mssql/server:2022-latest
docker pull mcr.microsoft.com/mssql/server:2025-latest
- name: docker start containers
shell: bash
run: |
docker run --rm --name mssql-linux-2017 -p 28001:1433 -e ACCEPT_EULA=Y -e SA_PASSWORD=Test1234! -d mcr.microsoft.com/mssql/server:2017-latest
docker run --rm --name mssql-linux-2019 -p 28002:1433 -e ACCEPT_EULA=Y -e SA_PASSWORD=Test1234! -d mcr.microsoft.com/mssql/server:2019-latest
docker run --rm --name mssql-linux-2022 -p 28003:1433 -e ACCEPT_EULA=Y -e SA_PASSWORD=Test1234! -d mcr.microsoft.com/mssql/server:2022-latest
docker run --rm --name mssql-linux-2025 -p 28004:1433 -e ACCEPT_EULA=Y -e SA_PASSWORD=Test1234! -d mcr.microsoft.com/mssql/server:2025-latest
sleep 60s
- name: Test
run: dotnet test SQLSchemaCompare.Test --no-build --configuration Release --logger trx --filter "Category=IntegrationTest&Category=MicrosoftSQL"
Expand Down Expand Up @@ -70,16 +72,14 @@ jobs:
shell: bash
run: |
docker pull mysql:8.0
docker pull mysql:8.2
docker pull mysql:8.3
docker pull mysql:8.4
docker pull mysql:9.4
- name: docker start containers
shell: bash
run: |
docker run --rm --name mysql-8.0 -p 27004:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:8.0
docker run --rm --name mysql-8.2 -p 27006:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:8.2
docker run --rm --name mysql-8.3 -p 27007:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:8.3
docker run --rm --name mysql-8.4 -p 27008:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:8.4
docker run --rm --name mysql-9.4 -p 27013:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mysql:9.4
sleep 60s
- name: Test
run: dotnet test SQLSchemaCompare.Test --no-build --configuration Release --logger trx --filter "Category=IntegrationTest&Category=MySQL"
Expand Down Expand Up @@ -112,19 +112,19 @@ jobs:
- name: docker pull images
shell: bash
run: |
docker pull postgres:12-alpine
docker pull postgres:13-alpine
docker pull postgres:14-alpine
docker pull postgres:15-alpine
docker pull postgres:16-alpine
docker pull postgres:17-alpine
- name: docker start containers
shell: bash
run: |
docker run --rm --name postgres-12 -p 26007:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:12-alpine
docker run --rm --name postgres-13 -p 26008:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:13-alpine
docker run --rm --name postgres-14 -p 26009:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:14-alpine
docker run --rm --name postgres-15 -p 26010:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:15-alpine
docker run --rm --name postgres-16 -p 26011:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:16-alpine
docker run --rm --name postgres-17 -p 26012:5432 -e POSTGRES_PASSWORD=test1234 -d postgres:17-alpine
sleep 60s
- name: Test
run: dotnet test SQLSchemaCompare.Test --no-build --configuration Release --logger trx --filter "Category=IntegrationTest&Category=PostgreSQL"
Expand Down Expand Up @@ -157,27 +157,17 @@ jobs:
- name: docker pull images
shell: bash
run: |
docker pull mariadb:10.4
docker pull mariadb:10.5
docker pull mariadb:10.6
docker pull mariadb:10.11
docker pull mariadb:11.0
docker pull mariadb:11.1
docker pull mariadb:11.2
docker pull mariadb:11.3
docker pull mariadb:11.4
docker pull mariadb:11.8
- name: docker start containers
shell: bash
run: |
docker run --rm --name mariadb-10.4 -p 29006:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:10.4
docker run --rm --name mariadb-10.5 -p 29007:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:10.5
docker run --rm --name mariadb-10.6 -p 29008:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:10.6
docker run --rm --name mariadb-10.11 -p 29013:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:10.11
docker run --rm --name mariadb-11.0 -p 29014:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.0
docker run --rm --name mariadb-11.1 -p 29015:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.1
docker run --rm --name mariadb-11.2 -p 29016:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.2
docker run --rm --name mariadb-11.3 -p 29017:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.3
docker run --rm --name mariadb-11.4 -p 29018:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.4
docker run --rm --name mariadb-11.8 -p 29022:3306 -e MYSQL_USER=admin -e MYSQL_PASSWORD=test1234 -e MYSQL_ROOT_PASSWORD=test1234 -d mariadb:11.8
sleep 60s
- name: Test
run: dotnet test SQLSchemaCompare.Test --no-build --configuration Release --logger trx --filter "Category=IntegrationTest&Category=MariaDB"
Expand Down
16 changes: 10 additions & 6 deletions SQLSchemaCompare.Test/DatabaseFixtureMariaDb.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,23 @@ public static IEnumerable<object[]> ServerPorts
/*serverPorts.Add(new object[] { (ushort)29003 });*/ // Version 10.1 (EOL October 2020)
/*serverPorts.Add(new object[] { (ushort)29004 });*/ // Version 10.2 (EOL May 2022)
/*serverPorts.Add(new object[] { (ushort)29005 });*/ // Version 10.3 (EOL May 2023)
serverPorts.Add(new object[] { (ushort)29006 }); // Version 10.4 (EOL June 2024)
serverPorts.Add(new object[] { (ushort)29007 }); // Version 10.5 (EOL June 2025)
/*serverPorts.Add(new object[] { (ushort)29006 }); // Version 10.4 (EOL June 2024)*/
/*serverPorts.Add(new object[] { (ushort)29007 }); // Version 10.5 (EOL June 2025)*/
serverPorts.Add(new object[] { (ushort)29008 }); // Version 10.6 (EOL July 2026)
/*serverPorts.Add(new object[] { (ushort)29009 });*/ // Version 10.7 (EOL February 2023)
/*serverPorts.Add(new object[] { (ushort)29010 });*/ // Version 10.8 (EOL May 2023)
/*serverPorts.Add(new object[] { (ushort)29011 });*/ // Version 10.9 (EOL August 2023)
/*serverPorts.Add(new object[] { (ushort)29012 });*/ // Version 10.10 (EOL November 2023)
serverPorts.Add(new object[] { (ushort)29013 }); // Version 10.11 (EOL February 2028)
serverPorts.Add(new object[] { (ushort)29014 }); // Version 11.0 (EOL June 2024)
serverPorts.Add(new object[] { (ushort)29015 }); // Version 11.1 (EOL August 2024)
serverPorts.Add(new object[] { (ushort)29016 }); // Version 11.2 (EOL November 2024)
serverPorts.Add(new object[] { (ushort)29017 }); // Version 11.3
/*serverPorts.Add(new object[] { (ushort)29014 }); // Version 11.0 (EOL June 2024)*/
/*serverPorts.Add(new object[] { (ushort)29015 }); // Version 11.1 (EOL August 2024)*/
/*serverPorts.Add(new object[] { (ushort)29016 }); // Version 11.2 (EOL November 2024)*/
/*serverPorts.Add(new object[] { (ushort)29017 }); // Version 11.3 (EOL May 2024)*/
serverPorts.Add(new object[] { (ushort)29018 }); // Version 11.4 (EOL May 2029)
/*serverPorts.Add(new object[] { (ushort)29019 }); // Version 11.5 (EOL November 2024)*/
/*serverPorts.Add(new object[] { (ushort)29020 }); // Version 11.6 (EOL February 2025)*/
/*serverPorts.Add(new object[] { (ushort)29021 }); // Version 11.7 (EOL May 2025)*/
serverPorts.Add(new object[] { (ushort)29022 }); // Version 11.8 (EOL October 2033)
}
else
{
Expand Down
7 changes: 4 additions & 3 deletions SQLSchemaCompare.Test/DatabaseFixtureMicrosoftSql.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ public static IEnumerable<object[]> ServerPorts

if (Environment.GetEnvironmentVariable("RunDockerTests")?.ToUpperInvariant() == "TRUE" || DatabaseFixture.ForceDockerTests)
{
serverPorts.Add(new object[] { (ushort)28001 }); // Version 2017 Linux
serverPorts.Add(new object[] { (ushort)28002 }); // Version 2019 Linux
serverPorts.Add(new object[] { (ushort)28003 }); // Version 2022 Linux
serverPorts.Add(new object[] { (ushort)28001 }); // Version 2017 Linux (EOL October 2027)
serverPorts.Add(new object[] { (ushort)28002 }); // Version 2019 Linux (EOL January 2030)
serverPorts.Add(new object[] { (ushort)28003 }); // Version 2022 Linux (EOL January 2033)
serverPorts.Add(new object[] { (ushort)28004 }); // Version 2025 Linux
}
else
{
Expand Down
9 changes: 7 additions & 2 deletions SQLSchemaCompare.Test/DatabaseFixtureMySql.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,14 @@ public static IEnumerable<object[]> ServerPorts
/*serverPorts.Add(new object[] { (ushort)27003 });*/ // Version 5.7 (EOL October 2023)
serverPorts.Add(new object[] { (ushort)27004 }); // Version 8.0 (EOL April 2026)
/*serverPorts.Add(new object[] { (ushort)27005 });*/ // Version 8.1 (EOL October 2023)
serverPorts.Add(new object[] { (ushort)27006 }); // Version 8.2
serverPorts.Add(new object[] { (ushort)27007 }); // Version 8.3
/*serverPorts.Add(new object[] { (ushort)27006 }); // Version 8.2 (EOL December 2023)*/
/*serverPorts.Add(new object[] { (ushort)27007 }); // Version 8.3 (EOL April 2024)*/
serverPorts.Add(new object[] { (ushort)27008 }); // Version 8.4 (EOL April 2032)
/*serverPorts.Add(new object[] { (ushort)27009 }); // Version 9.0 (EOL October 2024)*/
/*serverPorts.Add(new object[] { (ushort)27010 }); // Version 9.1 (EOL January 2025)*/
/*serverPorts.Add(new object[] { (ushort)27011 }); // Version 9.2 (EOL April 2025)*/
/*serverPorts.Add(new object[] { (ushort)27012 }); // Version 9.3 (EOL July 2025)*/
serverPorts.Add(new object[] { (ushort)27013 }); // Version 9.4
}
else
{
Expand Down
3 changes: 2 additions & 1 deletion SQLSchemaCompare.Test/DatabaseFixturePostgreSql.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,12 @@ public static IEnumerable<object[]> ServerPorts
/*serverPorts.Add(new object[] { (ushort)26004 });*/ // Version 9.6 (EOL November 2021)
/*serverPorts.Add(new object[] { (ushort)26005 });*/ // Version 10 (EOL November 2022)
/*serverPorts.Add(new object[] { (ushort)26006 });*/ // Version 11 (EOL November 2023)
serverPorts.Add(new object[] { (ushort)26007 }); // Version 12 (EOL November 2024)
/*serverPorts.Add(new object[] { (ushort)26007 }); // Version 12 (EOL November 2024)*/
serverPorts.Add(new object[] { (ushort)26008 }); // Version 13 (EOL November 2025)
serverPorts.Add(new object[] { (ushort)26009 }); // Version 14 (EOL November 2026)
serverPorts.Add(new object[] { (ushort)26010 }); // Version 15 (EOL November 2027)
serverPorts.Add(new object[] { (ushort)26011 }); // Version 16 (EOL November 2028)
serverPorts.Add(new object[] { (ushort)26012 }); // Version 17 (EOL November 2029)
}
else
{
Expand Down
2 changes: 1 addition & 1 deletion SQLSchemaCompare.Test/Integration/MicrosoftSqlTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public void GetMicrosoftSqlSakilaDatabase(ushort port)
db.StoredProcedures.Count.Should().Be(2);

db.DataTypes.Should().NotBeNullOrEmpty();
db.DataTypes.Count.Should().Be(37);
db.DataTypes.Count(x => x.IsUserDefined).Should().Be(3);

if (db.ServerVersion.Major < 11)
{
Expand Down
Loading