Skip to content

Fix vsix build (#2735) #765

Fix vsix build (#2735)

Fix vsix build (#2735) #765

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:
- '*'
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.100'
- 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 "165" 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 "150" 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 "77" 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: 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