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
121 changes: 121 additions & 0 deletions .github/workflows/vsix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
name: VSIX

on:
workflow_dispatch:
push:
branches:
- 'master'
pull_request:
branches:
- '*'

permissions:
id-token: write # This is required for the federated credential to work

env:
VERSION: 4.9.${{ github.run_number }}

jobs:
build:

runs-on: windows-latest

steps:
- uses: actions/checkout@v4

- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v2

- uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.201'

- name: Update Version
run: |
((Get-Content -Path GUI/SqlCe35Toolbox/Properties/AssemblyInfo.cs -Raw) -Replace "4.8.0.0", "${{ env.VERSION }}") | Set-Content -Path GUI/SqlCe35Toolbox/Properties/AssemblyInfo.cs
((Get-Content -Path GUI/SqlCe35Toolbox/source.extension.vsixmanifest -Raw) -Replace "4.8.0.0", "${{ env.VERSION }}") | Set-Content -Path GUI/SqlCe35Toolbox/source.extension.vsixmanifest
((Get-Content -Path GUI/SSMSToolbox/source.extension.vsixmanifest -Raw) -Replace "4.8.0.0", "${{ env.VERSION }}") | Set-Content -Path GUI/SSMSToolbox/source.extension.vsixmanifest
working-directory: src
shell: pwsh

- name: Install SQL Compact
shell: cmd
run: |
msiexec /i tools\3.5.8109\SSCERuntime-ENU_x86.msi /quiet /qn
msiexec /i tools\3.5.8109\SSCERuntime-ENU_x64.msi /quiet /qn
msiexec /i tools\4.0.8902\SSCERuntime_x64-ENU.msi /quiet /qn

- name: Restore
shell: cmd
run: |
.nuget\nuget restore .\src\GUI\SqlCeToolbox.sln -NonInteractive -Verbosity quiet -Source "https://api.nuget.org/v3/index.json"
.nuget\nuget restore .\src\API\SqlCeScripting40.sln -NonInteractive -Verbosity quiet -Source "https://api.nuget.org/v3/index.json"

- name: Build
working-directory: src
shell: cmd
run: |
msbuild API\SqlCeScripting40.sln /p:configuration=Release /v:m
msbuild API\Export2SqlCe.sln /p:configuration=Release /p:Platform="Any CPU" /v:m
msbuild API\ExportSqlCe.sln /p:configuration=Release /p:Platform="Any CPU" /v:m
msbuild API\ExportSqlCe40.sln /p:configuration=Release /p:Platform="Any CPU" /v:m
msbuild GUI\SqlCeToolbox.sln /p:configuration=Release /p:DeployExtension=false /p:ZipPackageCompressionLevel=normal /v:m
msbuild GUI\SqlCe40ToolboxExe.sln /p:configuration=Release /p:Platform="x86" /v:m

- name: Extract and verify vsix file count
shell: cmd
run: |
mkdir vsix
7z x src/GUI/SqlCe35Toolbox/bin/Release/SqlCeVsToolbox.vsix -ovsix -y
dir /a:-d /s /b "vsix" | find /c ":\" > filecount.txt
findstr "39" filecount.txt

- name: Move build output
#if: github.ref == 'refs/heads/master' && github.repository_owner == 'erikej' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
run: |
mv src/GUI/SqlCe35Toolbox/bin/Release/SqlCeVsToolbox.vsix SqliteToolbox-${{ env.VERSION }}.vsix
mv src/GUI/SSMSToolbox/bin/Release/SSMSToolbox.vsix SqliteSSMSToolbox-${{ env.VERSION }}.vsix
mv src\GUI\SqlCe40ToolboxExe\bin\Release40\SqlCe40ToolBox.exe SqlCe40ToolBox-${{ env.VERSION }}.exe
mv src\GUI\SqlCe40ToolboxExe\bin\Release\SqlCe35ToolBox.exe SqlCe35ToolBox-${{ env.VERSION }}.exe
mv src\API\bin\Release\Export2SqlCE.exe Export2SqlCE-${{ env.VERSION }}.exe
mv src\API\bin\Release\ExportSqlCE.exe ExportSqlCE-${{ env.VERSION }}.exe
mv src\API\bin\Release\ExportSqlCE40.exe ExportSqlCE40-${{ env.VERSION }}.exe

# - name: Azure CLI login with federated credential
# if: github.event_name != 'pull_request'
# uses: azure/login@v2
# with:
# client-id: ${{ secrets.AZURE_CLIENT_ID }}
# tenant-id: ${{ secrets.AZURE_TENANT_ID }}
# subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

# - name: Install dotnet sign
# if: github.event_name != 'pull_request'
# run: dotnet tool install --global sign --prerelease

# - name: Sign VSIX packages and .exe files # Causes signing requests - max is 5000 per month
# if: github.ref == 'refs/heads/master' && github.repository_owner == 'erikej' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
# run: sign code trusted-signing ./*.vsix ./*.exe `
# --trusted-signing-account ErikEJ `
# --trusted-signing-certificate-profile ErikEJCert `
# --trusted-signing-endpoint https://weu.codesigning.azure.net `
# -fl fileslist.txt `
# --verbosity information

- name: Publish artifacts
# if: github.ref == 'refs/heads/master' && github.repository_owner == 'erikej' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
uses: actions/upload-artifact@v4
with:
name: Artifacts
path: |
*.vsix
*.exe

- name: Publish to Open VSIX Gallery
if: github.ref == 'refs/heads/master' && github.repository_owner == 'erikej' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
run: |
$ErrorActionPreference='Stop'
(new-object Net.WebClient).DownloadString("https://raw.github.com/madskristensen/ExtensionScripts/master/AppVeyor/vsix.ps1") | iex
Vsix-PublishToGallery
shell: pwsh
continue-on-error: false
Binary file modified .nuget/nuget.exe
Binary file not shown.
30 changes: 21 additions & 9 deletions appveyor-sample.yml → appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
version: 4.6.{build}
version: 4.8.{build}
branches:
only:
- master
skip_tags: true
image: Visual Studio 2022
configuration: Release
platform: x86
assembly_info:
Expand All @@ -18,26 +19,36 @@ install:
Vsix-IncrementVsixVersion | Vsix-UpdateBuildVersion

Vsix-IncrementVsixVersion C:\projects\sqlcetoolbox\src\GUI\SqlCe35Toolbox\source.extension.vsixmanifest

Vsix-IncrementVsixVersion C:\projects\sqlcetoolbox\src\GUI\SqlCe35Toolbox\VS2010\source.extension.vsixmanifest
build_script:
- cmd: >-
.nuget\nuget restore .\src\GUI\SqlCeToolbox.sln -NonInteractive -Verbosity quiet -Source "https://api.nuget.org/v3/index.json"


msiexec /i %APPVEYOR_BUILD_FOLDER%\tools\3.5.8109\SSCERuntime-ENU_x86.msi /quiet /qn


msiexec /i %APPVEYOR_BUILD_FOLDER%\tools\3.5.8109\SSCERuntime-ENU_x64.msi /quiet /qn


msiexec /i %APPVEYOR_BUILD_FOLDER%\tools\4.0.8902\SSCERuntime_x64-ENU.msi /quiet /qn


msbuild src\API\SqlCeScripting40.sln /p:configuration=Release /v:m


msbuild src\API\Export2SqlCe.sln /p:configuration=Release /p:Platform="Any CPU" /v:m

msbuild src\API\ExportSqlCe.sln /p:configuration=Release /p:Platform="Any CPU" /v:m

msbuild src\API\ExportSqlCe40.sln /p:configuration=Release /p:Platform="Any CPU" /v:m
msbuild src\API\ExportSqlCe.sln /p:configuration=Release /p:Platform="Any CPU" /v:m


nuget restore src\GUI\SqlCeToolbox.sln -DisableParallelProcessing -Verbosity quiet
msbuild src\API\ExportSqlCe40.sln /p:configuration=Release /p:Platform="Any CPU" /v:m


msbuild src\GUI\SqlCeToolbox.sln /p:configuration=Release /p:DeployExtension=false /p:ZipPackageCompressionLevel=normal /v:m
msbuild src\GUI\SqlCe40ToolboxExe.sln /p:configuration=Release /v:m


msbuild src\GUI\SqlCe40ToolboxExe.sln /p:configuration=Release /v:m
msbuild src\GUI\SqlCeToolbox.sln /p:configuration=Release /p:Platform="Any CPU" /p:DeployExtension=false /p:ZipPackageCompressionLevel=normal /v:m


7z a SqlCe40ToolBox.zip %APPVEYOR_BUILD_FOLDER%\src\GUI\SqlCe40ToolboxExe\bin\Release40\SqlCe40ToolBox.exe
Expand All @@ -54,4 +65,5 @@ deploy_script:
- ps: >-
Vsix-PushArtifacts | Vsix-PublishToGallery

Push-AppveyorArtifact C:\projects\sqlcetoolbox\src\GUI\SSMSToolbox\bin\x86\Release\SSMSToolbox.vsix -FileName SSMSToolbox.vsix -DeploymentName "Latest build"

Push-AppveyorArtifact C:\projects\sqlcetoolbox\src\GUI\SSMSToolbox\bin\Release\SSMSToolbox.vsix -FileName SSMSToolbox.vsix -DeploymentName "Latest build"
11 changes: 11 additions & 0 deletions fileslist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
ISqlCeScripting.dll
QueryPlanVisualizer.dll
SqlCeScripting.dll
SqlCeScripting40.dll
SqlCeToolbox.Common.dll
SqlCeToolbox.DDEX4.dll
SqlCeToolBoxSyncFxLib.dll
SqlCeVsToolbox.dll
SQLiteScripting.dll
SqlCe40ToolBox.exe
SqlCe35ToolBox.exe
6 changes: 3 additions & 3 deletions src/GUI/SqlCe35Toolbox/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[assembly: AssemblyProduct("ErikEJ.SqlCeToolbox")]
[assembly: AssemblyCopyright("Copyright © 2010")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("4.7.210.0")]
[assembly: AssemblyFileVersion("4.7.210.0")]
[assembly: AssemblyInformationalVersion("4.8-alpha1")]
[assembly: AssemblyVersion("4.8.0.0")]
[assembly: AssemblyFileVersion("4.8.0.0")]
[assembly: AssemblyInformationalVersion("4.8.0.0")]

4 changes: 2 additions & 2 deletions src/GUI/SqlCe40ToolboxExe.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27703.2035
# Visual Studio Version 17
VisualStudioVersion = 17.13.35919.96 d17.13
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SqlCe40ToolboxExe", "SqlCe40ToolboxExe\SqlCe40ToolboxExe.csproj", "{5168893B-EBF8-4AB4-B231-88F2B3808ABB}"
EndProject
Expand Down
2 changes: 1 addition & 1 deletion src/GUI/SqlCe40ToolboxExe/SqlCe40ToolboxExe.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release40\</OutputPath>
Expand Down
Loading