From a00727c6f8927d8a6a6744a39b4acf3b5e063292 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Tue, 2 Jul 2024 23:40:22 +0200 Subject: [PATCH 01/21] draft --- .dockerignore | 432 ++++++++++++++++++++++++++++++++ .gitignore | 98 +++++++- SQLSchemaCompare.CLI/Dockerfile | 51 ++++ pre-commit-hook.sh | 1 + 4 files changed, 571 insertions(+), 11 deletions(-) create mode 100644 .dockerignore create mode 100644 SQLSchemaCompare.CLI/Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..d77c2b2a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,432 @@ +.git/ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +**/*.rsuser +**/*.suo +**/*.user +**/*.userosscache +**/*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +**/*.userprefs + +# Mono auto generated files +**/mono_crash.* + +# Build results +**/[Dd]ebug/ +**/[Dd]ebugPublic/ +**/[Rr]elease/ +**/[Rr]eleases/ +**/x64/ +**/x86/ +**/[Ww][Ii][Nn]32/ +**/[Aa][Rr][Mm]/ +**/[Aa][Rr][Mm]64/ +**/bld/ +**/[Bb]in/ +**/[Oo]bj/ +**/[Ll]og/ +**/[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +**/.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +**/Generated\ Files/ + +# MSTest test Results +**/[Tt]est[Rr]esult*/ +**/[Bb]uild[Ll]og.* + +# NUnit +**/*.VisualState.xml +**/TestResult.xml +**/nunit-*.xml + +# Build Results of an ATL Project +**/[Dd]ebugPS/ +**/[Rr]eleasePS/ +**/dlldata.c + +# Benchmark Results +**/BenchmarkDotNet.Artifacts/ + +# .NET Core +**/project.lock.json +**/project.fragment.lock.json +**/artifacts/ + +# ASP.NET Scaffolding +**/ScaffoldingReadMe.txt + +# StyleCop +**/StyleCopReport.xml + +# Files built by Visual Studio +**/*_i.c +**/*_p.c +**/*_h.h +**/*.ilk +**/*.meta +**/*.obj +**/*.iobj +**/*.pch +**/*.pdb +**/*.ipdb +**/*.pgc +**/*.pgd +**/*.rsp +**/*.sbr +**/*.tlb +**/*.tli +**/*.tlh +**/*.tmp +**/*.tmp_proj +**/*_wpftmp.csproj +**/*.log +**/*.tlog +**/*.vspscc +**/*.vssscc +**/.builds +**/*.pidb +**/*.svclog +**/*.scc + +# Chutzpah Test files +**/_Chutzpah* + +# Visual C++ cache files +**/ipch/ +**/*.aps +**/*.ncb +**/*.opendb +**/*.opensdf +**/*.sdf +**/*.cachefile +**/*.VC.db +**/*.VC.VC.opendb + +# Visual Studio profiler +**/*.psess +**/*.vsp +**/*.vspx +**/*.sap + +# Visual Studio Trace Files +**/*.e2e + +# TFS 2012 Local Workspace +**/$tf/ + +# Guidance Automation Toolkit +**/*.gpState + +# ReSharper is a .NET coding add-in +**/_ReSharper*/ +**/*.[Rr]e[Ss]harper +**/*.DotSettings.user + +# TeamCity is a build add-in +**/_TeamCity* + +# DotCover is a Code Coverage Tool +**/*.dotCover + +# AxoCover is a Code Coverage Tool +**/.axoCover/* +!**/.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +**/coverage*.json +**/coverage*.xml +**/coverage*.info + +# Visual Studio code coverage results +**/*.coverage +**/*.coveragexml + +# NCrunch +**/_NCrunch_* +**/.*crunch*.local.xml +**/nCrunchTemp_* + +# MightyMoose +**/*.mm.* +**/AutoTest.Net/ + +# Web workbench (sass) +**/.sass-cache/ + +# Installshield output folder +**/[Ee]xpress/ + +# DocProject is a documentation generator add-in +**/DocProject/buildhelp/ +**/DocProject/Help/*.HxT +**/DocProject/Help/*.HxC +**/DocProject/Help/*.hhc +**/DocProject/Help/*.hhk +**/DocProject/Help/*.hhp +**/DocProject/Help/Html2 +**/DocProject/Help/html + +# Click-Once directory +**/publish/ + +# Publish Web Output +**/*.[Pp]ublish.xml +**/*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +**/*.pubxml +**/*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +**/PublishScripts/ + +# NuGet Packages +**/*.nupkg +# NuGet Symbol Packages +**/*.snupkg +# The packages folder can be ignored because of Package Restore +**/**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +**/*.nuget.props +**/*.nuget.targets + +# Microsoft Azure Build Output +**/csx/ +**/*.build.csdef + +# Microsoft Azure Emulator +**/ecf/ +**/rcf/ + +# Windows Store app package directories and files +**/AppPackages/ +**/BundleArtifacts/ +**/Package.StoreAssociation.xml +**/_pkginfo.txt +**/*.appx +**/*.appxbundle +**/*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +**/*.[Cc]ache +# but keep track of directories ending in .cache +!**/?*.[Cc]ache/ + +# Others +**/ClientBin/ +**/~$* +**/*~ +**/*.dbmdl +**/*.dbproj.schemaview +**/*.jfm +**/*.pfx +**/*.publishsettings +**/orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +**/Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +**/_UpgradeReport_Files/ +**/Backup*/ +**/UpgradeLog*.XML +**/UpgradeLog*.htm +**/ServiceFabricBackup/ +**/*.rptproj.bak + +# SQL Server files +**/*.mdf +**/*.ldf +**/*.ndf + +# Business Intelligence projects +**/*.rdl.data +**/*.bim.layout +**/*.bim_*.settings +**/*.rptproj.rsuser +**/*- [Bb]ackup.rdl +**/*- [Bb]ackup ([0-9]).rdl +**/*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +**/FakesAssemblies/ + +# GhostDoc plugin setting file +**/*.GhostDoc.xml + +# Node.js Tools for Visual Studio +**/.ntvs_analysis.dat +**/node_modules/ + +# Visual Studio 6 build log +**/*.plg + +# Visual Studio 6 workspace options file +**/*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +**/*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +**/*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +**/*.dsw +**/*.dsp + +# Visual Studio 6 technical files +**/*.ncb +**/*.aps + +# Visual Studio LightSwitch build output +**/**/*.HTMLClient/GeneratedArtifacts +**/**/*.DesktopClient/GeneratedArtifacts +**/**/*.DesktopClient/ModelManifest.xml +**/**/*.Server/GeneratedArtifacts +**/**/*.Server/ModelManifest.xml +**/_Pvt_Extensions + +# Paket dependency manager +**/.paket/paket.exe +**/paket-files/ + +# FAKE - F# Make +**/.fake/ + +# CodeRush personal settings +**/.cr/personal + +# Python Tools for Visual Studio (PTVS) +**/__pycache__/ +**/*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +**/*.tss + +# Telerik's JustMock configuration file +**/*.jmconfig + +# BizTalk build output +**/*.btp.cs +**/*.btm.cs +**/*.odx.cs +**/*.xsd.cs + +# OpenCover UI analysis results +**/OpenCover/ + +# Azure Stream Analytics local run output +**/ASALocalRun/ + +# MSBuild Binary and Structured Log +**/*.binlog + +# NVidia Nsight GPU debugger configuration file +**/*.nvuser + +# MFractors (Xamarin productivity tool) working folder +**/.mfractor/ + +# Local History for Visual Studio +**/.localhistory/ + +# Visual Studio History (VSHistory) files +**/.vshistory/ + +# BeatPulse healthcheck temp database +**/healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +**/MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +**/.ionide/ + +# Fody - auto-generated XML schema +**/FodyWeavers.xsd + +# VS Code files for those working on multiple tools +**/.vscode/* +!**/.vscode/settings.json +!**/.vscode/tasks.json +!**/.vscode/launch.json +!**/.vscode/extensions.json +**/*.code-workspace + +# Local History for Visual Studio Code +**/.history/ + +# Windows Installer files from build outputs +**/*.cab +**/*.msi +**/*.msix +**/*.msm +**/*.msp + +# JetBrains Rider +**/*.sln.iml + +################################################################################ +## Content of the Visual Studio .gitignore from GitHub goes above this line. ## +## https://github.com/github/gitignore/blob/master/VisualStudio.gitignore ## +################################################################################ + +## SQL Schema Compare rules + +# Do not ignore private keys +!**/*.pfx + +# ESLint +**/.eslintcache + +# Ignore .js and .js.map files that were generated by our TypeScript Modules +**/SQLSchemaCompare/app.js +**/SQLSchemaCompare/app.js.map +**/SQLSchemaCompare.UI/wwwroot/js/**/*.js +**/SQLSchemaCompare.UI/wwwroot/js/**/*.js.map +**/SQLSchemaCompare.UI/wwwroot/css/**/*.css + +# Installer folders +**/.publish +**/installer + +# Documentation files +**/SQLSchemaCompare.Core/TiCodeX.SQLSchemaCompare.Core.xml +**/SQLSchemaCompare.Services/TiCodeX.SQLSchemaCompare.Services.xml +**/SQLSchemaCompare.Infrastructure/TiCodeX.SQLSchemaCompare.Infrastructure.xml +**/SQLSchemaCompare.CLI/TiCodeX.SQLSchemaCompare.CLI.xml +**/SQLSchemaCompare.UI/TiCodeX.SQLSchemaCompare.UI.xml +**/SQLSchemaCompare.Test/TiCodeX.SQLSchemaCompare.Test.xml + diff --git a/.gitignore b/.gitignore index c546e337..847ea9f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore # User-specific files *.rsuser @@ -13,6 +13,9 @@ # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs +# Mono auto generated files +mono_crash.* + # Build results [Dd]ebug/ [Dd]ebugPublic/ @@ -20,10 +23,14 @@ [Rr]eleases/ x64/ x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ +[Ll]ogs/ # Visual Studio 2015/2017 cache/options directory .vs/ @@ -37,9 +44,10 @@ Generated\ Files/ [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* -# NUNIT +# NUnit *.VisualState.xml TestResult.xml +nunit-*.xml # Build Results of an ATL Project [Dd]ebugPS/ @@ -54,6 +62,9 @@ project.lock.json project.fragment.lock.json artifacts/ +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + # StyleCop StyleCopReport.xml @@ -79,6 +90,7 @@ StyleCopReport.xml *.tmp_proj *_wpftmp.csproj *.log +*.tlog *.vspscc *.vssscc .builds @@ -120,9 +132,6 @@ _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user -# JustCode is a .NET coding add-in -.JustCode - # TeamCity is a build add-in _TeamCity* @@ -133,6 +142,11 @@ _TeamCity* .axoCover/* !.axoCover/settings.json +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + # Visual Studio code coverage results *.coverage *.coveragexml @@ -180,6 +194,8 @@ PublishScripts/ # NuGet Packages *.nupkg +# NuGet Symbol Packages +*.snupkg # The packages folder can be ignored because of Package Restore **/[Pp]ackages/* # except build/, which is used as an MSBuild target. @@ -204,12 +220,14 @@ BundleArtifacts/ Package.StoreAssociation.xml _pkginfo.txt *.appx +*.appxbundle +*.appxupload # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache -!*.[Cc]ache/ +!?*.[Cc]ache/ # Others ClientBin/ @@ -253,6 +271,9 @@ ServiceFabricBackup/ *.bim.layout *.bim_*.settings *.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl # Microsoft Fakes FakesAssemblies/ @@ -273,6 +294,17 @@ node_modules/ # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) *.vbw +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts @@ -288,10 +320,6 @@ paket-files/ # FAKE - F# Make .fake/ -# JetBrains Rider -.idea/ -*.sln.iml - # CodeRush personal settings .cr/personal @@ -333,18 +361,66 @@ ASALocalRun/ # Local History for Visual Studio .localhistory/ +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml + +################################################################################ +## Content of the Visual Studio .gitignore from GitHub goes above this line. ## +## https://github.com/github/gitignore/blob/master/VisualStudio.gitignore ## +################################################################################ + +## SQL Schema Compare rules + +# Do not ignore private keys +!*.pfx + # ESLint .eslintcache -# Custom rules +# Ignore .js and .js.map files that were generated by our TypeScript Modules SQLSchemaCompare/app.js SQLSchemaCompare/app.js.map SQLSchemaCompare.UI/wwwroot/js/**/*.js SQLSchemaCompare.UI/wwwroot/js/**/*.js.map SQLSchemaCompare.UI/wwwroot/css/**/*.css + # Installer folders .publish installer + # Documentation files SQLSchemaCompare.Core/TiCodeX.SQLSchemaCompare.Core.xml SQLSchemaCompare.Services/TiCodeX.SQLSchemaCompare.Services.xml diff --git a/SQLSchemaCompare.CLI/Dockerfile b/SQLSchemaCompare.CLI/Dockerfile new file mode 100644 index 00000000..47bdc704 --- /dev/null +++ b/SQLSchemaCompare.CLI/Dockerfile @@ -0,0 +1,51 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS base +WORKDIR /app + +# Install Timezone data +RUN apk add --update tzdata + +# Workaround Unhandled exception. System.NotSupportedException: Globalization Invariant Mode is not supported. +# https://github.com/dotnet/SqlClient/issues/220 +RUN apk add --update icu-libs +RUN apk add icu-data-full +ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false + +FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build + +WORKDIR /src + +# Copy solution-wide files +COPY .editorconfig .editorconfig +COPY global.json global.json +COPY Directory.Build.props Directory.Build.props +COPY SonarLint.xml SonarLint.xml + +# We only copy the csproj files first so the layer caching will work correctly +COPY ["SQLSchemaCompare.Core/SQLSchemaCompare.Core.csproj", "SQLSchemaCompare.Core/"] +COPY ["SQLSchemaCompare.Services/SQLSchemaCompare.Services.csproj", "SQLSchemaCompare.Services/"] +COPY ["SQLSchemaCompare.Infrastructure/SQLSchemaCompare.Infrastructure.csproj", "SQLSchemaCompare.Infrastructure/"] +COPY ["SQLSchemaCompare.CLI/SQLSchemaCompare.CLI.csproj", "SQLSchemaCompare.CLI/"] + +# restore the projects (this will be very fast with layer caching if the csproj files haven't changed) +RUN dotnet restore -r linux-musl-x64 SQLSchemaCompare.Core/SQLSchemaCompare.Core.csproj +RUN dotnet restore -r linux-musl-x64 SQLSchemaCompare.Services/SQLSchemaCompare.Services.csproj +RUN dotnet restore -r linux-musl-x64 SQLSchemaCompare.Infrastructure/SQLSchemaCompare.Infrastructure.csproj +RUN dotnet restore -r linux-musl-x64 SQLSchemaCompare.CLI/SQLSchemaCompare.CLI.csproj + +# Copy the rest of the code (we only copy the necessary files to make good use of layer caching) +COPY SQLSchemaCompare.Core/ SQLSchemaCompare.Core +COPY SQLSchemaCompare.Services/ SQLSchemaCompare.Services +COPY SQLSchemaCompare.Infrastructure/ SQLSchemaCompare.Infrastructure +COPY SQLSchemaCompare.CLI/ SQLSchemaCompare.CLI + +WORKDIR /src/SQLSchemaCompare.CLI + +RUN dotnet build --no-restore SQLSchemaCompare.CLI.csproj -c Release + +FROM build AS publish +RUN dotnet publish --no-restore --no-build SQLSchemaCompare.CLI.csproj -c Release -o /app/publish + +FROM base AS final +COPY --from=publish /app/publish . + +ENTRYPOINT ["/app/TiCodeX.SQLSchemaCompare.CLI"] diff --git a/pre-commit-hook.sh b/pre-commit-hook.sh index 7a98da8e..dbe8f381 100644 --- a/pre-commit-hook.sh +++ b/pre-commit-hook.sh @@ -3,6 +3,7 @@ changedFiles=$(git diff --cached --name-only) for file in $changedFiles; do [ ! -f "$file" ] && continue; + [ -z "${file##".dockerignore"}" ] && continue; [ -z "${file##".github/"*}" ] && continue; [ -z "${file##"images/"*}" ] && continue; [ -z "${file##"SQLSchemaCompare.UI/wwwroot/lib/"*}" ] && continue; From 212c105f74a14fc0c8a0a2080915de40f609d037 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 18:27:01 +0200 Subject: [PATCH 02/21] test --- .github/workflows/docker-tests.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/docker-tests.yml diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml new file mode 100644 index 00000000..cb2d221a --- /dev/null +++ b/.github/workflows/docker-tests.yml @@ -0,0 +1,29 @@ +name: Docker Tests + +on: + pull_request: + branches: [ master ] + workflow_dispatch: + +env: + TEST_TAG: ticodex/sqlschemacompare:test + +jobs: + docker_tests: + if: github.event.pull_request.draft == false + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and export to Docker + uses: docker/build-push-action@v6 + with: + load: true + tags: ${{ env.TEST_TAG }} + + - name: Test + run: | + docker run --rm ${{ env.TEST_TAG }} From f0711664906f955c50bc4c1f341dcdc4f34d54cf Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 18:37:35 +0200 Subject: [PATCH 03/21] test2 --- .github/workflows/docker-tests.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index cb2d221a..d378c0dc 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -13,7 +13,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -21,8 +21,10 @@ jobs: - name: Build and export to Docker uses: docker/build-push-action@v6 with: - load: true + context: . + file: ./SQLSchemaCompare.CLI/Dockerfile tags: ${{ env.TEST_TAG }} + load: true - name: Test run: | From 3624ef3a2e90b10c3c0efe31ad013f09a17e6cc4 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 18:47:29 +0200 Subject: [PATCH 04/21] x --- .github/workflows/docker-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index d378c0dc..3a8d4fa6 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -1,8 +1,8 @@ name: Docker Tests on: - pull_request: - branches: [ master ] +# pull_request: +# branches: [ master ] workflow_dispatch: env: From 6c41b1518731b0d517d99d3857924ea474aafb04 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 18:57:41 +0200 Subject: [PATCH 05/21] x --- .github/workflows/docker-tests.yml | 36 ++++++++++++++++++------------ 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index 3a8d4fa6..e4f0871b 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -1,8 +1,8 @@ name: Docker Tests on: -# pull_request: -# branches: [ master ] + pull_request: + branches: [ master ] workflow_dispatch: env: @@ -10,22 +10,30 @@ env: jobs: docker_tests: - if: github.event.pull_request.draft == false +# if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 +# - name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v3 - - name: Build and export to Docker - uses: docker/build-push-action@v6 - with: - context: . - file: ./SQLSchemaCompare.CLI/Dockerfile - tags: ${{ env.TEST_TAG }} - load: true +# - name: Build and export to Docker +# uses: docker/build-push-action@v6 +# with: +# context: . +# file: ./SQLSchemaCompare.CLI/Dockerfile +# tags: ${{ env.TEST_TAG }} +# load: true - - name: Test + - name: Set up MySQL run: | - docker run --rm ${{ env.TEST_TAG }} + sudo systemctl start mysql.service + mysql -u root -p root -e "CREATE DATABASE test1" + mysql -u root -p root test1 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql + mysql -u root -p root -e "CREATE DATABASE test2" + mysql -u root -p root test2 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql + +# - name: Test +# run: | +# docker run --rm ${{ env.TEST_TAG }} From cdc9d8cdecb0b45b887b6dbcdc9e527e38378d4d Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 18:59:12 +0200 Subject: [PATCH 06/21] x --- .github/workflows/docker-tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index e4f0871b..6abb6cc0 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -29,10 +29,10 @@ jobs: - name: Set up MySQL run: | sudo systemctl start mysql.service - mysql -u root -p root -e "CREATE DATABASE test1" - mysql -u root -p root test1 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql - mysql -u root -p root -e "CREATE DATABASE test2" - mysql -u root -p root test2 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql + mysql -u root -proot -e "CREATE DATABASE test1" + mysql -u root -proot test1 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql + mysql -u root -proot -e "CREATE DATABASE test2" + mysql -u root -proot test2 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql # - name: Test # run: | From 75217ea2c5d711e7069de145090cfdf64b98480f Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 19:09:38 +0200 Subject: [PATCH 07/21] x --- .github/workflows/docker-tests.yml | 47 ++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index 6abb6cc0..726eb7e5 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -15,16 +15,16 @@ jobs: steps: - uses: actions/checkout@v4 -# - name: Set up Docker Buildx -# uses: docker/setup-buildx-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 -# - name: Build and export to Docker -# uses: docker/build-push-action@v6 -# with: -# context: . -# file: ./SQLSchemaCompare.CLI/Dockerfile -# tags: ${{ env.TEST_TAG }} -# load: true + - name: Build and export to Docker + uses: docker/build-push-action@v6 + with: + context: . + file: ./SQLSchemaCompare.CLI/Dockerfile + tags: ${{ env.TEST_TAG }} + load: true - name: Set up MySQL run: | @@ -33,7 +33,30 @@ jobs: mysql -u root -proot test1 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql mysql -u root -proot -e "CREATE DATABASE test2" mysql -u root -proot test2 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql + mysql -u root -proot test2 -e "ALTER TABLE actor DROP COLUMN first_name" -# - name: Test -# run: | -# docker run --rm ${{ env.TEST_TAG }} + - name: Test + run: | + { + echo '' + echo '' + echo ' ' + echo ' host.docker.internal' + echo ' 3306' + echo ' test1' + echo ' root' + echo ' root' + echo ' ' + echo ' ' + echo ' host.docker.internal' + echo ' 3306' + echo ' test1' + echo ' root' + echo ' root' + echo ' ' + echo ' ' + echo ' ' + echo '' + } > project.tcxsc + docker run --rm -v $(pwd):/data ${{ env.TEST_TAG }} -p /data/project.tcxsc -o /data/output.sql + cat output.sql From 183457103da669d027f8c27cefded492ee981bb2 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 19:13:22 +0200 Subject: [PATCH 08/21] x --- .github/workflows/docker-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index 726eb7e5..ea046f79 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -50,7 +50,7 @@ jobs: echo ' ' echo ' host.docker.internal' echo ' 3306' - echo ' test1' + echo ' test2' echo ' root' echo ' root' echo ' ' From ce215bc68e59a626680b60abcf45b24effca42fc Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 22:23:50 +0200 Subject: [PATCH 09/21] x --- .github/workflows/docker-tests.yml | 4 ++-- SQLSchemaCompare.CLI/Dockerfile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index ea046f79..6475a306 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -45,14 +45,14 @@ jobs: echo ' 3306' echo ' test1' echo ' root' - echo ' root' + echo ' cU0DMSYV28eNfr5o54re4SSjnbNYMAHDK7tEfJ5PobI=' echo ' ' echo ' ' echo ' host.docker.internal' echo ' 3306' echo ' test2' echo ' root' - echo ' root' + echo ' cU0DMSYV28eNfr5o54re4SSjnbNYMAHDK7tEfJ5PobI=' echo ' ' echo ' ' echo ' ' diff --git a/SQLSchemaCompare.CLI/Dockerfile b/SQLSchemaCompare.CLI/Dockerfile index 47bdc704..289e7e96 100644 --- a/SQLSchemaCompare.CLI/Dockerfile +++ b/SQLSchemaCompare.CLI/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS base +FROM mcr.microsoft.com/dotnet/runtime:8.0-alpine AS base WORKDIR /app # Install Timezone data From a1127de375c7d3f6269af031a2674e998b997a38 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 22:30:37 +0200 Subject: [PATCH 10/21] x --- .github/workflows/docker-tests.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index 6475a306..e5069deb 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -25,6 +25,8 @@ jobs: file: ./SQLSchemaCompare.CLI/Dockerfile tags: ${{ env.TEST_TAG }} load: true + cache-from: type=gha + cache-to: type=gha,mode=max - name: Set up MySQL run: | @@ -41,14 +43,14 @@ jobs: echo '' echo '' echo ' ' - echo ' host.docker.internal' + echo ' localhost' echo ' 3306' echo ' test1' echo ' root' echo ' cU0DMSYV28eNfr5o54re4SSjnbNYMAHDK7tEfJ5PobI=' echo ' ' echo ' ' - echo ' host.docker.internal' + echo ' localhost' echo ' 3306' echo ' test2' echo ' root' @@ -58,5 +60,5 @@ jobs: echo ' ' echo '' } > project.tcxsc - docker run --rm -v $(pwd):/data ${{ env.TEST_TAG }} -p /data/project.tcxsc -o /data/output.sql + docker run --rm --net=host -v $(pwd):/data ${{ env.TEST_TAG }} -p /data/project.tcxsc -o /data/output.sql cat output.sql From 9da20ee0dcb1341906e2c17ea80b5b2ebf415a8b Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 22:44:12 +0200 Subject: [PATCH 11/21] x --- .github/workflows/docker-tests.yml | 49 ++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index e5069deb..53accd48 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -28,37 +28,54 @@ jobs: cache-from: type=gha cache-to: type=gha,mode=max - - name: Set up MySQL - run: | - sudo systemctl start mysql.service - mysql -u root -proot -e "CREATE DATABASE test1" - mysql -u root -proot test1 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql - mysql -u root -proot -e "CREATE DATABASE test2" - mysql -u root -proot test2 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql - mysql -u root -proot test2 -e "ALTER TABLE actor DROP COLUMN first_name" +# - name: Set up MySQL +# run: | +# sudo systemctl start mysql.service +# mysql -u root -proot -e "CREATE DATABASE test1" +# mysql -u root -proot test1 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql +# mysql -u root -proot -e "CREATE DATABASE test2" +# mysql -u root -proot test2 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql +# mysql -u root -proot test2 -e "ALTER TABLE actor DROP COLUMN first_name" - - name: Test + - name: Test MySQL run: | + initScript=$(mktemp) + echo "CREATE DATABASE test1" > $initScript + echo "CREATE DATABASE test2" > $initScript + echo "USE test1" >> $initScript + cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript + echo "USE test2" >> $initScript + cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript + docker pull mysql + docker run --rm \ + --name mysql \ + -e MYSQL_USER=admin \ + -e MYSQL_PASSWORD=test1234 \ + -e MYSQL_ROOT_PASSWORD=test1234 \ + -v $initScript:/docker-entrypoint-initdb.d/init.sql + -d \ + mysql + { echo '' echo '' echo ' ' - echo ' localhost' + echo ' mysql' echo ' 3306' echo ' test1' - echo ' root' - echo ' cU0DMSYV28eNfr5o54re4SSjnbNYMAHDK7tEfJ5PobI=' + echo ' admin' + echo ' lZGUdranPySlPscTnWEj4NruoeFny6XfE69wMTYqA/U=' echo ' ' echo ' ' - echo ' localhost' + echo ' mysql' echo ' 3306' echo ' test2' - echo ' root' - echo ' cU0DMSYV28eNfr5o54re4SSjnbNYMAHDK7tEfJ5PobI=' + echo ' admin' + echo ' lZGUdranPySlPscTnWEj4NruoeFny6XfE69wMTYqA/U=' echo ' ' echo ' ' echo ' ' echo '' } > project.tcxsc - docker run --rm --net=host -v $(pwd):/data ${{ env.TEST_TAG }} -p /data/project.tcxsc -o /data/output.sql + docker run --rm -v $(pwd):/data ${{ env.TEST_TAG }} -p /data/project.tcxsc -o /data/output.sql cat output.sql From cd22ffe1d5e1a2cc0d33f34753be7759e19a0f5d Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 22 Jul 2024 22:45:22 +0200 Subject: [PATCH 12/21] x --- .github/workflows/docker-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index 53accd48..e834ebd9 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -52,7 +52,7 @@ jobs: -e MYSQL_USER=admin \ -e MYSQL_PASSWORD=test1234 \ -e MYSQL_ROOT_PASSWORD=test1234 \ - -v $initScript:/docker-entrypoint-initdb.d/init.sql + -v $initScript:/docker-entrypoint-initdb.d/init.sql \ -d \ mysql From 22df0e3ca8f9257cab43d002a5927f05c5c8c141 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Tue, 23 Jul 2024 01:34:32 +0200 Subject: [PATCH 13/21] test --- .github/workflows/docker-tests.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index e834ebd9..212e6e8c 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -13,6 +13,36 @@ jobs: # if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: + - name: test123 + run: | + initScript=$(mktemp) + echo "CREATE DATABASE test1" > $initScript + echo "CREATE DATABASE test2" > $initScript + echo "USE test1" >> $initScript + cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript + echo "USE test2" >> $initScript + cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript + + echo "----------------------------------------------------------" + cat $initScript + echo "----------------------------------------------------------" + + docker pull mysql + docker run --rm \ + --name mysql \ + --add-host host.docker.internal:host-gateway + -p 43306:3306 \ + -e MYSQL_USER=admin \ + -e MYSQL_PASSWORD=test1234 \ + -e MYSQL_ROOT_PASSWORD=test1234 \ + -v $initScript:/docker-entrypoint-initdb.d/init.sql \ + -d mysql + + docker exec mysql mysql -h host.docker.internal -p 43306 -uadmin -ptest1234 -e "SHOW DATABASES" + + docker stop mysql + exit 1 + - uses: actions/checkout@v4 - name: Set up Docker Buildx From e2181e2a94930cd6569360b60f9105649a194494 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Tue, 23 Jul 2024 01:41:11 +0200 Subject: [PATCH 14/21] x --- .github/workflows/docker-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index 212e6e8c..f9dd0b49 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -13,6 +13,8 @@ jobs: # if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: + - uses: actions/checkout@v4 + - name: test123 run: | initScript=$(mktemp) @@ -43,8 +45,6 @@ jobs: docker stop mysql exit 1 - - uses: actions/checkout@v4 - - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 From 87e2deb3900f7cbeeeceb6767a17ed340de8816e Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Tue, 23 Jul 2024 01:41:58 +0200 Subject: [PATCH 15/21] x --- .github/workflows/docker-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index f9dd0b49..4116b69a 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -32,7 +32,7 @@ jobs: docker pull mysql docker run --rm \ --name mysql \ - --add-host host.docker.internal:host-gateway + --add-host host.docker.internal:host-gateway \ -p 43306:3306 \ -e MYSQL_USER=admin \ -e MYSQL_PASSWORD=test1234 \ From 4fc64cc467f79987c454f39429295775e8ac335e Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Tue, 23 Jul 2024 01:43:32 +0200 Subject: [PATCH 16/21] x --- .github/workflows/docker-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index 4116b69a..f06498e9 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -40,7 +40,7 @@ jobs: -v $initScript:/docker-entrypoint-initdb.d/init.sql \ -d mysql - docker exec mysql mysql -h host.docker.internal -p 43306 -uadmin -ptest1234 -e "SHOW DATABASES" + docker exec mysql mysql -h host.docker.internal:43306 -uadmin -ptest1234 -e "SHOW DATABASES" docker stop mysql exit 1 From b58e0548113e25183a4f09230c8a6fe27aa6aa9e Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Tue, 23 Jul 2024 01:45:30 +0200 Subject: [PATCH 17/21] x --- .github/workflows/docker-tests.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index f06498e9..ed58f77f 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -25,14 +25,9 @@ jobs: echo "USE test2" >> $initScript cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript - echo "----------------------------------------------------------" - cat $initScript - echo "----------------------------------------------------------" - docker pull mysql docker run --rm \ --name mysql \ - --add-host host.docker.internal:host-gateway \ -p 43306:3306 \ -e MYSQL_USER=admin \ -e MYSQL_PASSWORD=test1234 \ @@ -40,7 +35,7 @@ jobs: -v $initScript:/docker-entrypoint-initdb.d/init.sql \ -d mysql - docker exec mysql mysql -h host.docker.internal:43306 -uadmin -ptest1234 -e "SHOW DATABASES" + docker exec mysql mysql -uadmin -ptest1234 -e "SHOW DATABASES" docker stop mysql exit 1 From abf6e41269a0ded8c2bd4f669527ad14b42484cf Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Tue, 23 Jul 2024 01:48:12 +0200 Subject: [PATCH 18/21] x --- .github/workflows/docker-tests.yml | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index ed58f77f..42d78129 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -24,6 +24,7 @@ jobs: cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript echo "USE test2" >> $initScript cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript + echo "ALTER TABLE actor DROP COLUMN first_name" >> $initScript docker pull mysql docker run --rm \ @@ -34,11 +35,6 @@ jobs: -e MYSQL_ROOT_PASSWORD=test1234 \ -v $initScript:/docker-entrypoint-initdb.d/init.sql \ -d mysql - - docker exec mysql mysql -uadmin -ptest1234 -e "SHOW DATABASES" - - docker stop mysql - exit 1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -64,23 +60,6 @@ jobs: - name: Test MySQL run: | - initScript=$(mktemp) - echo "CREATE DATABASE test1" > $initScript - echo "CREATE DATABASE test2" > $initScript - echo "USE test1" >> $initScript - cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript - echo "USE test2" >> $initScript - cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript - docker pull mysql - docker run --rm \ - --name mysql \ - -e MYSQL_USER=admin \ - -e MYSQL_PASSWORD=test1234 \ - -e MYSQL_ROOT_PASSWORD=test1234 \ - -v $initScript:/docker-entrypoint-initdb.d/init.sql \ - -d \ - mysql - { echo '' echo '' From 7410823d8b0c806029f86df1702167cb6e455993 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Mon, 14 Oct 2024 21:59:58 +0200 Subject: [PATCH 19/21] Update docker-tests.yml --- .github/workflows/docker-tests.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index 42d78129..410c679a 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: test123 + - name: Create databases run: | initScript=$(mktemp) echo "CREATE DATABASE test1" > $initScript @@ -27,9 +27,10 @@ jobs: echo "ALTER TABLE actor DROP COLUMN first_name" >> $initScript docker pull mysql + docker network create test-net docker run --rm \ --name mysql \ - -p 43306:3306 \ + --net test-net \ -e MYSQL_USER=admin \ -e MYSQL_PASSWORD=test1234 \ -e MYSQL_ROOT_PASSWORD=test1234 \ @@ -81,5 +82,5 @@ jobs: echo ' ' echo '' } > project.tcxsc - docker run --rm -v $(pwd):/data ${{ env.TEST_TAG }} -p /data/project.tcxsc -o /data/output.sql + docker run --rm --net test-net -v $(pwd):/data ${{ env.TEST_TAG }} -p /data/project.tcxsc -o /data/output.sql cat output.sql From 07c72be042e71594992214d586a3d83648854290 Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Fri, 21 Nov 2025 17:16:40 +0100 Subject: [PATCH 20/21] x --- .dockerignore | 872 ++++++++++++++++++++++--------------------- .gitignore | 3 + SQLSchemaCompare.sln | 5 +- 3 files changed, 446 insertions(+), 434 deletions(-) diff --git a/.dockerignore b/.dockerignore index d77c2b2a..7ef82aaf 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,432 +1,440 @@ -.git/ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore - -# User-specific files -**/*.rsuser -**/*.suo -**/*.user -**/*.userosscache -**/*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -**/*.userprefs - -# Mono auto generated files -**/mono_crash.* - -# Build results -**/[Dd]ebug/ -**/[Dd]ebugPublic/ -**/[Rr]elease/ -**/[Rr]eleases/ -**/x64/ -**/x86/ -**/[Ww][Ii][Nn]32/ -**/[Aa][Rr][Mm]/ -**/[Aa][Rr][Mm]64/ -**/bld/ -**/[Bb]in/ -**/[Oo]bj/ -**/[Ll]og/ -**/[Ll]ogs/ - -# Visual Studio 2015/2017 cache/options directory -**/.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -**/Generated\ Files/ - -# MSTest test Results -**/[Tt]est[Rr]esult*/ -**/[Bb]uild[Ll]og.* - -# NUnit -**/*.VisualState.xml -**/TestResult.xml -**/nunit-*.xml - -# Build Results of an ATL Project -**/[Dd]ebugPS/ -**/[Rr]eleasePS/ -**/dlldata.c - -# Benchmark Results -**/BenchmarkDotNet.Artifacts/ - -# .NET Core -**/project.lock.json -**/project.fragment.lock.json -**/artifacts/ - -# ASP.NET Scaffolding -**/ScaffoldingReadMe.txt - -# StyleCop -**/StyleCopReport.xml - -# Files built by Visual Studio -**/*_i.c -**/*_p.c -**/*_h.h -**/*.ilk -**/*.meta -**/*.obj -**/*.iobj -**/*.pch -**/*.pdb -**/*.ipdb -**/*.pgc -**/*.pgd -**/*.rsp -**/*.sbr -**/*.tlb -**/*.tli -**/*.tlh -**/*.tmp -**/*.tmp_proj -**/*_wpftmp.csproj -**/*.log -**/*.tlog -**/*.vspscc -**/*.vssscc -**/.builds -**/*.pidb -**/*.svclog -**/*.scc - -# Chutzpah Test files -**/_Chutzpah* - -# Visual C++ cache files -**/ipch/ -**/*.aps -**/*.ncb -**/*.opendb -**/*.opensdf -**/*.sdf -**/*.cachefile -**/*.VC.db -**/*.VC.VC.opendb - -# Visual Studio profiler -**/*.psess -**/*.vsp -**/*.vspx -**/*.sap - -# Visual Studio Trace Files -**/*.e2e - -# TFS 2012 Local Workspace -**/$tf/ - -# Guidance Automation Toolkit -**/*.gpState - -# ReSharper is a .NET coding add-in -**/_ReSharper*/ -**/*.[Rr]e[Ss]harper -**/*.DotSettings.user - -# TeamCity is a build add-in -**/_TeamCity* - -# DotCover is a Code Coverage Tool -**/*.dotCover - -# AxoCover is a Code Coverage Tool -**/.axoCover/* -!**/.axoCover/settings.json - -# Coverlet is a free, cross platform Code Coverage Tool -**/coverage*.json -**/coverage*.xml -**/coverage*.info - -# Visual Studio code coverage results -**/*.coverage -**/*.coveragexml - -# NCrunch -**/_NCrunch_* -**/.*crunch*.local.xml -**/nCrunchTemp_* - -# MightyMoose -**/*.mm.* -**/AutoTest.Net/ - -# Web workbench (sass) -**/.sass-cache/ - -# Installshield output folder -**/[Ee]xpress/ - -# DocProject is a documentation generator add-in -**/DocProject/buildhelp/ -**/DocProject/Help/*.HxT -**/DocProject/Help/*.HxC -**/DocProject/Help/*.hhc -**/DocProject/Help/*.hhk -**/DocProject/Help/*.hhp -**/DocProject/Help/Html2 -**/DocProject/Help/html - -# Click-Once directory -**/publish/ - -# Publish Web Output -**/*.[Pp]ublish.xml -**/*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -**/*.pubxml -**/*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -**/PublishScripts/ - -# NuGet Packages -**/*.nupkg -# NuGet Symbol Packages -**/*.snupkg -# The packages folder can be ignored because of Package Restore -**/**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -**/*.nuget.props -**/*.nuget.targets - -# Microsoft Azure Build Output -**/csx/ -**/*.build.csdef - -# Microsoft Azure Emulator -**/ecf/ -**/rcf/ - -# Windows Store app package directories and files -**/AppPackages/ -**/BundleArtifacts/ -**/Package.StoreAssociation.xml -**/_pkginfo.txt -**/*.appx -**/*.appxbundle -**/*.appxupload - -# Visual Studio cache files -# files ending in .cache can be ignored -**/*.[Cc]ache -# but keep track of directories ending in .cache -!**/?*.[Cc]ache/ - -# Others -**/ClientBin/ -**/~$* -**/*~ -**/*.dbmdl -**/*.dbproj.schemaview -**/*.jfm -**/*.pfx -**/*.publishsettings -**/orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -**/Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -**/_UpgradeReport_Files/ -**/Backup*/ -**/UpgradeLog*.XML -**/UpgradeLog*.htm -**/ServiceFabricBackup/ -**/*.rptproj.bak - -# SQL Server files -**/*.mdf -**/*.ldf -**/*.ndf - -# Business Intelligence projects -**/*.rdl.data -**/*.bim.layout -**/*.bim_*.settings -**/*.rptproj.rsuser -**/*- [Bb]ackup.rdl -**/*- [Bb]ackup ([0-9]).rdl -**/*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -**/FakesAssemblies/ - -# GhostDoc plugin setting file -**/*.GhostDoc.xml - -# Node.js Tools for Visual Studio -**/.ntvs_analysis.dat -**/node_modules/ - -# Visual Studio 6 build log -**/*.plg - -# Visual Studio 6 workspace options file -**/*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -**/*.vbw - -# Visual Studio 6 auto-generated project file (contains which files were open etc.) -**/*.vbp - -# Visual Studio 6 workspace and project file (working project files containing files to include in project) -**/*.dsw -**/*.dsp - -# Visual Studio 6 technical files -**/*.ncb -**/*.aps - -# Visual Studio LightSwitch build output -**/**/*.HTMLClient/GeneratedArtifacts -**/**/*.DesktopClient/GeneratedArtifacts -**/**/*.DesktopClient/ModelManifest.xml -**/**/*.Server/GeneratedArtifacts -**/**/*.Server/ModelManifest.xml -**/_Pvt_Extensions - -# Paket dependency manager -**/.paket/paket.exe -**/paket-files/ - -# FAKE - F# Make -**/.fake/ - -# CodeRush personal settings -**/.cr/personal - -# Python Tools for Visual Studio (PTVS) -**/__pycache__/ -**/*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -**/*.tss - -# Telerik's JustMock configuration file -**/*.jmconfig - -# BizTalk build output -**/*.btp.cs -**/*.btm.cs -**/*.odx.cs -**/*.xsd.cs - -# OpenCover UI analysis results -**/OpenCover/ - -# Azure Stream Analytics local run output -**/ASALocalRun/ - -# MSBuild Binary and Structured Log -**/*.binlog - -# NVidia Nsight GPU debugger configuration file -**/*.nvuser - -# MFractors (Xamarin productivity tool) working folder -**/.mfractor/ - -# Local History for Visual Studio -**/.localhistory/ - -# Visual Studio History (VSHistory) files -**/.vshistory/ - -# BeatPulse healthcheck temp database -**/healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -**/MigrationBackup/ - -# Ionide (cross platform F# VS Code tools) working folder -**/.ionide/ - -# Fody - auto-generated XML schema -**/FodyWeavers.xsd - -# VS Code files for those working on multiple tools -**/.vscode/* -!**/.vscode/settings.json -!**/.vscode/tasks.json -!**/.vscode/launch.json -!**/.vscode/extensions.json -**/*.code-workspace - -# Local History for Visual Studio Code -**/.history/ - -# Windows Installer files from build outputs -**/*.cab -**/*.msi -**/*.msix -**/*.msm -**/*.msp - -# JetBrains Rider -**/*.sln.iml - -################################################################################ -## Content of the Visual Studio .gitignore from GitHub goes above this line. ## -## https://github.com/github/gitignore/blob/master/VisualStudio.gitignore ## -################################################################################ - -## SQL Schema Compare rules - -# Do not ignore private keys -!**/*.pfx - -# ESLint -**/.eslintcache - -# Ignore .js and .js.map files that were generated by our TypeScript Modules -**/SQLSchemaCompare/app.js -**/SQLSchemaCompare/app.js.map -**/SQLSchemaCompare.UI/wwwroot/js/**/*.js -**/SQLSchemaCompare.UI/wwwroot/js/**/*.js.map -**/SQLSchemaCompare.UI/wwwroot/css/**/*.css - -# Installer folders -**/.publish -**/installer - -# Documentation files -**/SQLSchemaCompare.Core/TiCodeX.SQLSchemaCompare.Core.xml -**/SQLSchemaCompare.Services/TiCodeX.SQLSchemaCompare.Services.xml -**/SQLSchemaCompare.Infrastructure/TiCodeX.SQLSchemaCompare.Infrastructure.xml -**/SQLSchemaCompare.CLI/TiCodeX.SQLSchemaCompare.CLI.xml -**/SQLSchemaCompare.UI/TiCodeX.SQLSchemaCompare.UI.xml -**/SQLSchemaCompare.Test/TiCodeX.SQLSchemaCompare.Test.xml - +.git/ +## Please keep in sync with .dockerignore +## Use "npx gitignore-to-dockerignore" to generate .dockerignore from this .gitignore + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +**/*.rsuser +**/*.suo +**/*.user +**/*.userosscache +**/*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +**/*.userprefs + +# Mono auto generated files +**/mono_crash.* + +# Build results +**/[Dd]ebug/ +**/[Dd]ebugPublic/ +**/[Rr]elease/ +**/[Rr]eleases/ +**/x64/ +**/x86/ +**/[Ww][Ii][Nn]32/ +**/[Aa][Rr][Mm]/ +**/[Aa][Rr][Mm]64/ +**/bld/ +**/[Bb]in/ +**/[Oo]bj/ +**/[Ll]og/ +**/[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +**/.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +**/Generated\ Files/ + +# MSTest test Results +**/[Tt]est[Rr]esult*/ +**/[Bb]uild[Ll]og.* + +# NUnit +**/*.VisualState.xml +**/TestResult.xml +**/nunit-*.xml + +# Build Results of an ATL Project +**/[Dd]ebugPS/ +**/[Rr]eleasePS/ +**/dlldata.c + +# Benchmark Results +**/BenchmarkDotNet.Artifacts/ + +# .NET Core +**/project.lock.json +**/project.fragment.lock.json +**/artifacts/ + +# ASP.NET Scaffolding +**/ScaffoldingReadMe.txt + +# StyleCop +**/StyleCopReport.xml + +# Files built by Visual Studio +**/*_i.c +**/*_p.c +**/*_h.h +**/*.ilk +**/*.meta +**/*.obj +**/*.iobj +**/*.pch +**/*.pdb +**/*.ipdb +**/*.pgc +**/*.pgd +**/*.rsp +# but not Directory.Build.rsp, as it configures directory-level build defaults +!**/Directory.Build.rsp +**/*.sbr +**/*.tlb +**/*.tli +**/*.tlh +**/*.tmp +**/*.tmp_proj +**/*_wpftmp.csproj +**/*.log +**/*.tlog +**/*.vspscc +**/*.vssscc +**/.builds +**/*.pidb +**/*.svclog +**/*.scc + +# Chutzpah Test files +**/_Chutzpah* + +# Visual C++ cache files +**/ipch/ +**/*.aps +**/*.ncb +**/*.opendb +**/*.opensdf +**/*.sdf +**/*.cachefile +**/*.VC.db +**/*.VC.VC.opendb + +# Visual Studio profiler +**/*.psess +**/*.vsp +**/*.vspx +**/*.sap + +# Visual Studio Trace Files +**/*.e2e + +# TFS 2012 Local Workspace +**/$tf/ + +# Guidance Automation Toolkit +**/*.gpState + +# ReSharper is a .NET coding add-in +**/_ReSharper*/ +**/*.[Rr]e[Ss]harper +**/*.DotSettings.user + +# TeamCity is a build add-in +**/_TeamCity* + +# DotCover is a Code Coverage Tool +**/*.dotCover + +# AxoCover is a Code Coverage Tool +**/.axoCover/* +!**/.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +**/coverage*.json +**/coverage*.xml +**/coverage*.info + +# Visual Studio code coverage results +**/*.coverage +**/*.coveragexml + +# NCrunch +**/_NCrunch_* +**/.*crunch*.local.xml +**/nCrunchTemp_* + +# MightyMoose +**/*.mm.* +**/AutoTest.Net/ + +# Web workbench (sass) +**/.sass-cache/ + +# Installshield output folder +**/[Ee]xpress/ + +# DocProject is a documentation generator add-in +**/DocProject/buildhelp/ +**/DocProject/Help/*.HxT +**/DocProject/Help/*.HxC +**/DocProject/Help/*.hhc +**/DocProject/Help/*.hhk +**/DocProject/Help/*.hhp +**/DocProject/Help/Html2 +**/DocProject/Help/html + +# Click-Once directory +**/publish/ + +# Publish Web Output +**/*.[Pp]ublish.xml +**/*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +**/*.pubxml +**/*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +**/PublishScripts/ + +# NuGet Packages +**/*.nupkg +# NuGet Symbol Packages +**/*.snupkg +# The packages folder can be ignored because of Package Restore +**/**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +**/*.nuget.props +**/*.nuget.targets + +# Microsoft Azure Build Output +**/csx/ +**/*.build.csdef + +# Microsoft Azure Emulator +**/ecf/ +**/rcf/ + +# Windows Store app package directories and files +**/AppPackages/ +**/BundleArtifacts/ +**/Package.StoreAssociation.xml +**/_pkginfo.txt +**/*.appx +**/*.appxbundle +**/*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +**/*.[Cc]ache +# but keep track of directories ending in .cache +!**/?*.[Cc]ache/ + +# Others +**/ClientBin/ +**/~$* +**/*~ +**/*.dbmdl +**/*.dbproj.schemaview +**/*.jfm +**/*.pfx +**/*.publishsettings +**/orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +**/Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +**/_UpgradeReport_Files/ +**/Backup*/ +**/UpgradeLog*.XML +**/UpgradeLog*.htm +**/ServiceFabricBackup/ +**/*.rptproj.bak + +# SQL Server files +**/*.mdf +**/*.ldf +**/*.ndf + +# Business Intelligence projects +**/*.rdl.data +**/*.bim.layout +**/*.bim_*.settings +**/*.rptproj.rsuser +**/*- [Bb]ackup.rdl +**/*- [Bb]ackup ([0-9]).rdl +**/*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +**/FakesAssemblies/ + +# GhostDoc plugin setting file +**/*.GhostDoc.xml + +# Node.js Tools for Visual Studio +**/.ntvs_analysis.dat +**/node_modules/ + +# Visual Studio 6 build log +**/*.plg + +# Visual Studio 6 workspace options file +**/*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +**/*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +**/*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +**/*.dsw +**/*.dsp + +# Visual Studio 6 technical files +**/*.ncb +**/*.aps + +# Visual Studio LightSwitch build output +**/**/*.HTMLClient/GeneratedArtifacts +**/**/*.DesktopClient/GeneratedArtifacts +**/**/*.DesktopClient/ModelManifest.xml +**/**/*.Server/GeneratedArtifacts +**/**/*.Server/ModelManifest.xml +**/_Pvt_Extensions + +# Paket dependency manager +**/.paket/paket.exe +**/paket-files/ + +# FAKE - F# Make +**/.fake/ + +# CodeRush personal settings +**/.cr/personal + +# Python Tools for Visual Studio (PTVS) +**/__pycache__/ +**/*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +**/*.tss + +# Telerik's JustMock configuration file +**/*.jmconfig + +# BizTalk build output +**/*.btp.cs +**/*.btm.cs +**/*.odx.cs +**/*.xsd.cs + +# OpenCover UI analysis results +**/OpenCover/ + +# Azure Stream Analytics local run output +**/ASALocalRun/ + +# MSBuild Binary and Structured Log +**/*.binlog + +# NVidia Nsight GPU debugger configuration file +**/*.nvuser + +# MFractors (Xamarin productivity tool) working folder +**/.mfractor/ + +# Local History for Visual Studio +**/.localhistory/ + +# Visual Studio History (VSHistory) files +**/.vshistory/ + +# BeatPulse healthcheck temp database +**/healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +**/MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +**/.ionide/ + +# Fody - auto-generated XML schema +**/FodyWeavers.xsd + +# VS Code files for those working on multiple tools +**/.vscode/* +!**/.vscode/settings.json +!**/.vscode/tasks.json +!**/.vscode/launch.json +!**/.vscode/extensions.json +**/*.code-workspace + +# Local History for Visual Studio Code +**/.history/ + +# Windows Installer files from build outputs +**/*.cab +**/*.msi +**/*.msix +**/*.msm +**/*.msp + +# JetBrains Rider +**/*.sln.iml + +################################################################################ +## Content of the Visual Studio .gitignore from GitHub goes above this line. ## +## https://github.com/github/gitignore/blob/main/VisualStudio.gitignore ## +################################################################################ + +## SQL Schema Compare rules + +# Do not ignore private keys +!**/*.pfx + +# TypeScript incremental build info +**/*.tsbuildinfo + +# ESLint +**/.eslintcache + +# Ignore .js and .js.map files that were generated by our TypeScript Modules +**/SQLSchemaCompare/app.js +**/SQLSchemaCompare/app.js.map +**/SQLSchemaCompare.UI/wwwroot/js/**/*.js +**/SQLSchemaCompare.UI/wwwroot/js/**/*.js.map +**/SQLSchemaCompare.UI/wwwroot/css/**/*.css + +# Installer folders +**/.publish +**/installer + +# Documentation files +**/SQLSchemaCompare.Core/TiCodeX.SQLSchemaCompare.Core.xml +**/SQLSchemaCompare.Services/TiCodeX.SQLSchemaCompare.Services.xml +**/SQLSchemaCompare.Infrastructure/TiCodeX.SQLSchemaCompare.Infrastructure.xml +**/SQLSchemaCompare.CLI/TiCodeX.SQLSchemaCompare.CLI.xml +**/SQLSchemaCompare.UI/TiCodeX.SQLSchemaCompare.UI.xml +**/SQLSchemaCompare.Test/TiCodeX.SQLSchemaCompare.Test.xml + diff --git a/.gitignore b/.gitignore index 59c67085..26d1a88c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +## Please keep in sync with .dockerignore +## Use "npx gitignore-to-dockerignore" to generate .dockerignore from this .gitignore + ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## diff --git a/SQLSchemaCompare.sln b/SQLSchemaCompare.sln index cd44e10c..ebef9e82 100644 --- a/SQLSchemaCompare.sln +++ b/SQLSchemaCompare.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.1.32421.90 +# Visual Studio Version 18 +VisualStudioVersion = 18.0.11217.181 d18.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SQLSchemaCompare.UI", "SQLSchemaCompare.UI\SQLSchemaCompare.UI.csproj", "{E204594D-3E7E-4EBA-8441-87560A5C02C4}" EndProject @@ -10,6 +10,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SQLSchemaCompare.Test", "SQ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "00 - Solution Items", "00 - Solution Items", "{EB87FDBE-CC7F-4AD6-BD06-1425586DEEDD}" ProjectSection(SolutionItems) = preProject + .dockerignore = .dockerignore .editorconfig = .editorconfig .gitignore = .gitignore BaseEslintConfig.js = BaseEslintConfig.js From 7cb85127ee95df116828ba5bd550b9f8ecfa386d Mon Sep 17 00:00:00 2001 From: Daniele Debernardi Date: Fri, 21 Nov 2025 17:33:55 +0100 Subject: [PATCH 21/21] drop tests --- .github/workflows/docker-tests.yml | 86 ------------------------------ 1 file changed, 86 deletions(-) delete mode 100644 .github/workflows/docker-tests.yml diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml deleted file mode 100644 index 410c679a..00000000 --- a/.github/workflows/docker-tests.yml +++ /dev/null @@ -1,86 +0,0 @@ -name: Docker Tests - -on: - pull_request: - branches: [ master ] - workflow_dispatch: - -env: - TEST_TAG: ticodex/sqlschemacompare:test - -jobs: - docker_tests: -# if: github.event.pull_request.draft == false - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Create databases - run: | - initScript=$(mktemp) - echo "CREATE DATABASE test1" > $initScript - echo "CREATE DATABASE test2" > $initScript - echo "USE test1" >> $initScript - cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript - echo "USE test2" >> $initScript - cat SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql >> $initScript - echo "ALTER TABLE actor DROP COLUMN first_name" >> $initScript - - docker pull mysql - docker network create test-net - docker run --rm \ - --name mysql \ - --net test-net \ - -e MYSQL_USER=admin \ - -e MYSQL_PASSWORD=test1234 \ - -e MYSQL_ROOT_PASSWORD=test1234 \ - -v $initScript:/docker-entrypoint-initdb.d/init.sql \ - -d mysql - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build and export to Docker - uses: docker/build-push-action@v6 - with: - context: . - file: ./SQLSchemaCompare.CLI/Dockerfile - tags: ${{ env.TEST_TAG }} - load: true - cache-from: type=gha - cache-to: type=gha,mode=max - -# - name: Set up MySQL -# run: | -# sudo systemctl start mysql.service -# mysql -u root -proot -e "CREATE DATABASE test1" -# mysql -u root -proot test1 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql -# mysql -u root -proot -e "CREATE DATABASE test2" -# mysql -u root -proot test2 < SQLSchemaCompare.Test/Datasources/sakila-schema-mysql.sql -# mysql -u root -proot test2 -e "ALTER TABLE actor DROP COLUMN first_name" - - - name: Test MySQL - run: | - { - echo '' - echo '' - echo ' ' - echo ' mysql' - echo ' 3306' - echo ' test1' - echo ' admin' - echo ' lZGUdranPySlPscTnWEj4NruoeFny6XfE69wMTYqA/U=' - echo ' ' - echo ' ' - echo ' mysql' - echo ' 3306' - echo ' test2' - echo ' admin' - echo ' lZGUdranPySlPscTnWEj4NruoeFny6XfE69wMTYqA/U=' - echo ' ' - echo ' ' - echo ' ' - echo '' - } > project.tcxsc - docker run --rm --net test-net -v $(pwd):/data ${{ env.TEST_TAG }} -p /data/project.tcxsc -o /data/output.sql - cat output.sql