Skip to content

Update EF Core tools to 8.0.17 and 9.0.6 (#3000) #1016

Update EF Core tools to 8.0.17 and 9.0.6 (#3000)

Update EF Core tools to 8.0.17 and 9.0.6 (#3000) #1016

Workflow file for this run

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