Update EF Core tools to 8.0.17 and 9.0.6 (#3000) #1016
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: VSIX | |
on: | |
workflow_dispatch: | |
push: | |
paths-ignore: | |
- '**/*' | |
- '!.github/workflows/vsix.yml' | |
- '!src/GUI/**/*' | |
- '!src/Core/**/*' | |
branches: | |
- 'master' | |
pull_request: | |
branches: | |
- '*' | |
permissions: | |
id-token: write # This is required for the federated credential to work | |
env: | |
VERSION: 2.6.${{ github.run_number }} | |
jobs: | |
build: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '9.0.205' | |
- name: Update Version | |
run: | | |
((Get-Content -Path GUI/EFCorePowerTools/Properties/AssemblyInfo.cs -Raw) -Replace "2.6.0.1", "${{ env.VERSION }}") | Set-Content -Path GUI/EFCorePowerTools/Properties/AssemblyInfo.cs | |
((Get-Content -Path GUI/EFCorePowerTools/source.extension.vsixmanifest -Raw) -Replace "2.6.0", "${{ env.VERSION }}") | Set-Content -Path GUI/EFCorePowerTools/source.extension.vsixmanifest | |
((Get-Content -Path GUI/PowerToolsExtensionPack/source.extension.vsixmanifest -Raw) -Replace "2.6.0", "${{ env.VERSION }}") | Set-Content -Path GUI/PowerToolsExtensionPack/source.extension.vsixmanifest | |
working-directory: src | |
shell: pwsh | |
- name: Restore | |
run: dotnet restore EFCorePowerTools.sln | |
working-directory: src | |
- name: Build reveng tools | |
if: github.event_name != 'pull_request' | |
shell: cmd | |
run: | | |
cd ${{ github.workspace}}\src\Core\efreveng80 | |
call ${{ github.workspace}}\src\Core\efreveng80\BuildCmdlineTool.cmd | |
cd ${{ github.workspace}}\src\Core\efreveng90 | |
call ${{ github.workspace}}\src\Core\efreveng90\BuildCmdlineTool.cmd | |
cd ${{ github.workspace}} | |
- name: Extract and verify efreveng80.exe.zip file count | |
if: github.event_name != 'pull_request' | |
shell: cmd | |
run: | | |
mkdir vsix | |
7z x src/GUI/lib/efreveng80.exe.zip -oefreveng80 -y | |
dir /a:-d /s /b "efreveng80" | find /c ":\" > filecount.txt | |
findstr "168" filecount.txt | |
- name: Extract and verify efreveng90.exe.zip file count | |
if: github.event_name != 'pull_request' | |
shell: cmd | |
run: | | |
mkdir vsix | |
7z x src/GUI/lib/efreveng90.exe.zip -oefreveng90 -y | |
dir /a:-d /s /b "efreveng90" | find /c ":\" > filecount.txt | |
findstr "170" filecount.txt | |
- name: Setup MSBuild.exe | |
uses: microsoft/setup-msbuild@v2 | |
- name: Build | |
run: msbuild EFCorePowerTools.sln /property:Configuration=Release /p:DeployExtension=false /p:ZipPackageCompressionLevel=normal /v:m | |
working-directory: src | |
- name: Extract and verify vsix file count | |
shell: cmd | |
run: | | |
mkdir vsix | |
7z x src/GUI/EFCorePowerTools/bin/Release/EFCorePowerTools.vsix -ovsix -y | |
dir /a:-d /s /b "vsix" | find /c ":\" > filecount.txt | |
findstr "73" 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/EFCorePowerTools/bin/Release/EFCorePowerTools.vsix EFCorePowerTools-${{ env.VERSION }}.vsix | |
mv src/GUI/PowerToolsExtensionPack/bin/Release/PowerToolsExtensionPack.vsix PowerToolsExtensionPack-${{ env.VERSION }}.vsix | |
- 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 # Causes 4 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 ` | |
--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 | |
- 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 |